Skocz do zawartości

kamus

Użytkownik
  • Postów

    4
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia kamus

Newbie

Newbie (1/14)

0

Reputacja

  1. kamus

    [java] Problem.

    Program ten ma sprawdzac, czy dane 4 współrzedne tworzą prostokąt..Problem polega na tym, ze współrzędne muszą byc wpisane w odpowiedniej kolejności, bo inaczej poprostu nie działa.. wiem, ze aby tak nie musiało byc trzeba jakoś posortować elementy.. ale ja nie mam pojecia jak.. moglby mi ktoś pomóc? musze to zrobić na wtorek.. a siedze juz nad tym 3 dzień i naprawde wymiękam.. bede bardzo wdzięczny. import java.io.*; //import pakietówimport java.util.*;public class Prostokat { /** * * uzycie potoków znakowych(Unicode) * * Klasa BufferedReader dostarcza metodę readLine(), która zwraca odczytaną ze strumienia linię tekstu. * * InputStreamReader-zamiana bajtów na znaki * * */ private static BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); //deklaracja składników klasy int x1=0; int x2=0; int x3=0; int x4=0; int y1=0; int y2=0; int y3=0; int y4=0; int w=0; double a,b,c,d; int i; int[] x; int[] y; int[] xp; int[] yp; Prostokat()// konstruktor { ustaw(); } void ustaw () { System.out.println("Tworzenie nowego obiektu..."); x= new int[4]; y= new int[4]; xp= new int[4]; yp= new int[4]; for(i=0;i<4;i++) { try{ System.out.println("x"+(i+1)+"="); x[i] = Integer.parseInt(stdin.readLine()); //Metoda parseInt dokonuje konwersji łańcucha znakowego na liczbę całkowitą, o ile jest to możliwe. System.out.println("y"+(i+1)+"="); y[i] = Integer.parseInt(stdin.readLine()); }catch(Exception e){}; } //tutaj jest sortowanie, które nie dziala... int licznik,max,maxp; for(licznik=0;licznik<4;licznik++) { max=x[0]; maxp=1; for(i=1;i<4;i++) { if (x[i]<max){max =x[i];maxp=i;} if (x[i]==max) { if (y[i]<y[maxp]) {max=x[i];maxp=i;} }} xp[licznik]=x[maxp]; yp[licznik]=y[maxp]; for (i=maxp;i<licznik;i++){ x[i]=x[i+1]; y[i]=y[i+1];} } a = Math.sqrt((xp[0]-xp[1])*(xp[0]-xp[1])+(yp[0]-yp[1])*(yp[0]-yp[1])); b = Math.sqrt((xp[2]-xp[3])*(xp[2]-xp[3])+(yp[2]-yp[3])*(yp[2]-yp[3])); c = Math.sqrt((xp[0]-xp[2])*(xp[0]-xp[2])+(yp[0]-yp[2])*(yp[0]-yp[2])); d = Math.sqrt((xp[1]-xp[3])*(xp[1]-xp[3])+(yp[1]-yp[3])*(yp[1]-yp[3])); if(x[0]>20 || x[1]>20 || x[2]>20 || x[3]>20 || y[0]>20 || y[1]>20 || y[2]>20 || y[3]>20) {System.out.println("Wspolrzedne nie moga byc wieksze od 20!");w++;} else { if(xp[0]>=0 && xp[1]>=0 && xp[2]>=0 && xp[3]>=0 && yp[0]>=0 && yp[1]>=0 && yp[2]>=0 && yp[3]>=0) System.out.println("Figura znajduje sie w I cw ukladu wspolrzednych"); if(a!=b || c!=d) { System.out.println("Podana przez Ciebie figura nie jest prostokatem"); w++; } else System.out.println("Podana przec Ciebie figura jest prostokatem"); } } void obwod () { double ob; ob=a+b+c+d; System.out.println("Obwod wynosi: "+ob); }void powierzchnia () { double pow; pow=a*c; System.out.println("powierzchnia "+pow); } void dlugosc () { for(i=0;i<4;i++) {System.out.print(xp[i]); System.out.println(yp [i]);} if(a>c) System.out.println("Dlugosc dluzszego boku: "+a); else System.out.println("Dlugosc dluzszego boku: "+c); } void kwadrat () { if(a==b && b==c) System.out.println("Ta figura jest kwadratem"); else System.out.println("Ta figura nie jest kwadratem"); } static public void main(String args[]){ Prostokat obiekt=new Prostokat(); // if(obiekt.w==0){ System.out.println("Jaka funkcje chcesz wywolac?"); int wybor=0; System.out.println("1 - obwod"); System.out.println("2 - powierzchnia"); System.out.println("3 - dlugosc "); System.out.println("4 - kwadrat ( sprawdza, czy dany prostokat jest kwadratem)"); System.out.println("5 - wszytskie "); try{ wybor = Integer.parseInt(stdin.readLine()); } catch(Exception e){}; switch (wybor) { case 1: obiekt.obwod(); break; case 2: obiekt.powierzchnia(); break; case 3: obiekt.dlugosc(); break; case 4: obiekt.kwadrat(); break; case 5: { obiekt.obwod(); obiekt.powierzchnia(); obiekt.dlugosc(); obiekt.kwadrat(); break; } default: System.out.println("Nie ma takiej opcji!!!"); break; } } }}
  2. kamus

    [php] Cute News

    mam problem z tym skryptem.. jest on naprawde super..ma tyle opcji i wogole..i bardzo chcialem go umiescic na stronie, ale nie wyswietla on polskich znaków.. i nie iwem jak mam sobie z tym poradzic.. pomoze ktos?
  3. #include <conio.h>#include <stdio.h>main(){ clrscr(); int t[100],n,i; printf("Podaj n"); scanf("%d",&n);for(i=0;n>=1;i++,n=n/2){if(n%2==0) t[i]=0;else t[i]=1;} printf("i=%d\n\n",i);for(i;i>=0;i--)printf("%d",t[i]); getch(); return 0;} dziala, ale wyswietla tez jakies liczby z kosmosu.. nie wiem dlaczego.. pomoze mi ktos?
  4. witam..mam problem..program ten generuje tablice o wymiarach n/n a nastepnie zeruje wszytskie elementy znajdujace sie ponizej glownej przekatnej.. czy moglby ktos napisac funkcje zeruj2, ktora bedzie zerowala elementy znajdujace sie powyzej glownej przekatnej? bylbym bardzo wdzieczny. z gory dziekuje :) include <iostream>#include <fstream>#include <stdlib.h>//#include <string.h>using namespace std;// Zadanie 7// Tablica n x nvoid wydruk_tab (int **t, int *n){ for (int i=0;i<*n;i++) { for (int j=0;j<*n;j++) { if (*(*(t+i)+j)<10) cout<<" "<<*(*(t+i)+j)<<" "; else cout<<*(*(t+i)+j)<<" "; // *(a+i) - adres pocz. i-tego wiersza } cout<<endl; // *(a+i)+j - adres j-tego elementu i-tego wiersza }}void zeruj (int **t, int *n){ for (int i=0;i<*n;i++) //pierwszy (t[0]) wiersz zostawiam w spokoju { for (int k=0;k<i;k++) { *(*(t+i)+k)=0; //w kolejnych zeruje tyle el. co t[x] } } wydruk_tab(t,n); cout<<endl;}void zeruj2(int **t, int *n){ }void tablica(int **t, int *n){ int **tab; tab= new int *[*n]; //tablica pomocnicza n x n for (int i=0;i<*n;i++) { tab[i]= new int [*n]; } int wart=0; for (int i=0;i<*n;i++) //kolejno wpisuj liczby do tablicy n x n { for (int k=0;k<*n;k++) { *(*(t+i)+k)=++wart; } } wydruk_tab(t,n); //tablica po zapełnieniu cout<<endl;//ustawiam ciągi liczb wg.klucza for (int i=1;i<*n;i+=2) //zaczynam od drugiego wiersza { for (int k=0;k<*n;k++) { *(*(tab+k))=*(*(t+i)+k); //do tabl. pomocniczej zapisuję zawartość } //drugiego wiersza for (int l=0;l<*n;l++) { *(*(t+i)+l)=*(*(tab+(*n-l-1))); //do drugiego wiersza zapisuję } //liczby z tablicy pom. czytanej od końca } wydruk_tab(t,n); //tablica po uporządkowaniu wg. klucza cout<<endl;}int main(){ int **tabl; //tablica wskaźników int n; cout<<"Jaki wymiar tablicy (n x n)? "; cin>>n; tabl= new int *[n]; for(int i=0;i<n;i++) { tabl[i]= new int [n]; //rezerwuj pamięć na tabl.max.20xn } tablica(tabl,&n); zeruj(tabl,&n); zeruj2(tabl,&n); system("PAUSE");}
×
×
  • Dodaj nową pozycję...