Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 12.8.2015, 11:31   #241
brano88
Član
 
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 26
Zahvaljeno 59 puta na 46 poruka
Određen forumom Re: How to... Java

Citat:
Iliti konkretnije ako je close u try blocku, bilo kakav exception bi doveo da konekcije koja nikad nece biti zatvorena.
Naravno. Uz uslov da se konekcija uspjesno otvori. Treba nekad sjesti i razmisliti kako try-catch-finally funkcionise.
brano88 je offline   Odgovor sa citatom ove poruke
Stara 4.1.2016, 20:44   #242
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Radila sam zadatak koji je veoma jednostavan, naime, date su koordinate tri tačke, A(a1, a2), B(b1, b2) i C (c1, c2) koje formiraju trougao i data je neka tačka P (x, y). Treba odrediti da li postoji trougao ABC i ako postoji da li tačka P leži unutar njega.
Ukoliko se tačka P nalazi unutar trougla, onda će povrsina(APB)+povrsina(APC)+povrsina(BPC)=povrsina (ABC).
Ovo je kod koji sam ja iskucala:

HTML kod:
public static double rastojanje (double x1, double y1, double x2, double y2){
		double rast=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
		return rast;
	}
	public static double povrsina (double a, double b, double c){
		double s=((a+b+c)/2);
		double pov=Math.sqrt(s*(s-a)*(s-b)*(s-c));
		return pov;
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner ulaz=new Scanner (System.in);
		double a1, a2, b1, b2, c1, c2, x, y;
		a1=ulaz.nextDouble();
		a2=ulaz.nextDouble();
		b1=ulaz.nextDouble();
		b2=ulaz.nextDouble();
		c1=ulaz.nextDouble();
		c2=ulaz.nextDouble();
		x=ulaz.nextDouble();
		y=ulaz.nextDouble();
		
		double a=rastojanje (b1, b2, c1, c2);
		double b=rastojanje (a1, a2, c1, c2);
		double c=rastojanje (b1, b2, c1, c2);
		
		if (a+b>c && a+c>b && b+c>a){
			double pc=rastojanje (x, y, c1, c2);
			double pa=rastojanje (x, y, a1, a2);
			double pb=rastojanje (x, y, b1, b2);
			double pov=povrsina(a, b, c);
			double pov1=povrsina(pa, pc, b);
			double pov2=povrsina(pa, pb, c);
			double pov3=povrsina (pb, pc, a);
			double povuk=pov1+pov2+pov3;
			if (povuk==pov){
				System.out.print("Trougao postoji i tacka sa koordinatama: " + x + y + " pripada trouglu");
			}
			else {
				System.out.print("Trougao postoji ali tacka ne pripada trouglu");
			}
		}
		else 
			System.out.print("Trougao ne postoji");
	}
ali, problem je u tome što ni za očigledan primjer mi ne pokazuje tačno, tj. iako je tačka unutar trougla meni štampa da tačka nije unutar trougla.

Da li neko možda zna gdje je greška?
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 5.1.2016, 0:33   #243
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.085
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: How to... Java

Pre nego što uradiš "if (povuk == pov)", uradi

System.out.println("Povuk: " + povuk + ", pov: " + pov);

I vidi da li su brojevi baš različiti, ili su blizu. U prvom slučaju ti ne valja algoritam, u drugom se radi o grešci u zaokruživanju.

Kod reprezentacije realnih brojeva na kompjuteru uvek može da postoji greška u zaokruživanju (vidi floating point na wikipediji), a pritom ako vršiš sabiranje (kao npr pov1 + pov2 + pov3), greška se samo povećava. Zato se preporučuje da se double i float vrednosti ne porede direktno sa == , nego sa nekom tolerancijom, na primer za toleranciju od 2%:

if ((povuk > pov * 0.98) && (povuk < pov * 1.02)) { ... }
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
ballerina72 (6.1.2016)
Stara 5.1.2016, 1:03   #244
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: How to... Java

What Every Computer Scientist Should Know About Floating-Point Arithmetic

Dosadna matematika može da se preskoči.
Neutrino je offline   Odgovor sa citatom ove poruke
Stara 5.1.2016, 15:59   #245
korisnickoime
Član
 
Član od: 15.12.2011.
Poruke: 150
Zahvalnice: 27
Zahvaljeno 49 puta na 44 poruka
Određen forumom Re: How to... Java

Citat:
voodoo_ kaže: Pregled poruke
if ((povuk > pov * 0.98) && (povuk < pov * 1.02)) { ... }
ili ovako nekako:
Kod:
double eps = 0.0001;
if (Math.abs(var1 - var2) < eps) {...}
korisnickoime je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku korisnickoime na korisnoj poruci:
voodoo_ (5.1.2016)
Stara 5.1.2016, 20:34   #246
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.085
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: How to... Java

U moju odbranu, kucao sam kasno posle dugog radnog dana
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 6.1.2016, 12:49   #247
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Ipak nije greška u zaokruživanju

Ali u svakom slučaju, hvala na savjetima!
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 6.1.2016, 15:57   #248
ETR1
Banned
 
Član od: 7.9.2012.
Lokacija: Usa
Poruke: 818
Zahvalnice: 131
Zahvaljeno 151 puta na 129 poruka
Slanje poruke preko ICQ-a korisniku ETR1 Slanje poruke preko AIM-a korisniku ETR1 Slanje poruke preko Yahooa korisniku ETR1 Slanje poruke preko Skypea korisniku ETR1
Određen forumom Re: How to... Java

Možda da u IF-u staviš u zagradu (a+b) > c, itd... ovako možda samo poredi b sa c.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 6.1.2016, 23:20   #249
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Nije tu problem... Danas nisam imala vremena, ali ću sjutra zadatak odraditi (kako bi moja baba rekla) 'Jovo nanovo', pa nadam se da će program ispravno raditi. Ako to ne uspije, pa ništa, čekam da počne škola profesoricu da pitam.
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 8.1.2016, 15:13   #250
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.085
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: How to... Java

Za svaki slučaj, nakon unosa parametara uradi i njihov ispis, možda Scanner nije lepo isparsirao...
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 17:30   #251
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Pronašla sam grešku, formula za rastojanje između dvije tačke u koordinatnom sistemu mi je bila pogrešna, treba da stoji (x1-y1)^2 + (x2-y2)^2 a ne (x1-x2)^2 + (y1-y2)^2...

ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 18:13   #252
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.133
Zahvalnice: 649
Zahvaljeno 1.352 puta na 692 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: How to... Java

Formula za rastojanje jeste koren iz (x-x1)^2 + (y-y1)^2...
Andross je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 19:56   #253
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

https://profesorka.wordpress.com/201...inatnoj-ravni/

Ovdje sam ovu formulu našla... O.o
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 22:21   #254
ivan90BG
Veteran
 
Član od: 3.5.2008.
Lokacija: Beograd
Poruke: 760
Zahvalnice: 81
Zahvaljeno 213 puta na 144 poruka
Određen forumom Re: How to... Java

Lapsus običan u tekstu. A ti si lapsus napravila ovde:
Kod:
double a=rastojanje (b1, b2, c1, c2);
double b=rastojanje (a1, a2, c1, c2);
double c=rastojanje (b1, b2, c1, c2);
Napisala si istu stvar u prvoj i trećoj liniji, fali ti rastojanje između (a1,a2) i (b1,b2). Debagovao sam, to je to. Inače umesto povuk==pov stavi ono što je @korisnickoime napisao, bez toga će uvek da iskače.

Još jedna sugestija, za proveru postojanja trougla dovoljno je da se proveri da li su sve stranice duže od 0 (trougao je dat u koordinatama, pa se ne može desiti da jedna od stranica bude duža od zbira druga dve)

Poslednja ispravka: ivan90BG (10.1.2016 u 23:21)
ivan90BG je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 23:35   #255
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Citat:
Andross kaže: Pregled poruke
Formula za rastojanje jeste koren iz (x-x1)^2 + (y-y1)^2...
Kad sam sve nanovo kucala provjerila sam da li mi je dobra formula za rastojanje i gledala sam samo glavnu formulu (na ovom linku koji sam gore stavila), koja je očigledno pogrešna, a ja nisam ni malo razmišljala...


Citat:
ivan90BG kaže: Pregled poruke

Napisala si istu stvar u prvoj i trećoj liniji, fali ti rastojanje između (a1,a2) i (b1,b2). Debagovao sam, to je to. Inače umesto povuk==pov stavi ono što je @korisnickoime napisao, bez toga će uvek da iskače.
Sad u potpunosti radi!

Hvalaaa!!!
Ubuduće odmah ću kod kucati nanovo i trudiću se da ne postavljam ovako lagane zadatke sa ovako glupim greškama...
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 6.3.2016, 2:27   #256
Markonije
Starosedelac
 
Član od: 14.3.2009.
Poruke: 1.200
Zahvalnice: 207
Zahvaljeno 276 puta na 179 poruka
Određen forumom Re: How to... Java

Jednom nam je profa iz programiranja rekao ,ako ima vise od 6 linija koda , ne pitajte me zasto ne radi kako treba
Markonije je offline   Odgovor sa citatom ove poruke
Stara 29.4.2016, 22:21   #257
brano88
Član
 
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 26
Zahvaljeno 59 puta na 46 poruka
Određen forumom Re: How to... Java

Citat:
Markonije kaže: Pregled poruke
Jednom nam je profa iz programiranja rekao ,ako ima vise od 6 linija koda , ne pitajte me zasto ne radi kako treba
Vidim i zasto je profesor a ne developer.
brano88 je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku brano88 na korisnoj poruci:
analayzer (30.4.2016), voodoo_ (30.4.2016)
Stara 30.4.2016, 12:56   #258
analayzer
Starosedelac
 
Član od: 2.6.2008.
Lokacija: Vršac
Poruke: 1.752
Zahvalnice: 92
Zahvaljeno 311 puta na 294 poruka
Određen forumom Re: How to... Java

Citat:
brano88 kaže: Pregled poruke
Vidim i zasto je profesor a ne developer.
Ja bi da dodam da profa zna programing bio bi mali Bil Gejts a ne profesor.
analayzer je offline   Odgovor sa citatom ove poruke
Stara 24.5.2016, 14:43   #259
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.085
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: How to... Java

Ne znam gde ću, pa ću ovde:

Konkurs za Android i/ili iOS programera:

https://poslovi.infostud.com/posloda...ture-doo/43000
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 23.8.2016, 13:35   #260
Dreamfall
Banned
 
Član od: 8.7.2006.
Lokacija: Above the Abyss
Poruke: 1.879
Zahvalnice: 584
Zahvaljeno 910 puta na 523 poruka
Određen forumom Re: How to... Java

Posle flopa sa proucavanjem C++ krenuo bih ozbiljno da ucim Javu(osnove sam prosao, citao sam beginner knjige; Head First Java, 2nd Edition itd.) i sada planiram da odradim neki kurs koji ce me uputiti u neke ozbiljnije stvari. Ortak se kune u Aleph (tj Levi9 ) kurseve u Novom Sadu( Linak ).

Problem je sto ne znam koji od ponudjenih kurseva da izaberem jer bih mogao da radim sve u Javi Nekako me najvise zanima programiranje za Android, ali ne znam koliko je isplativo to znati Naravno znam da je kurs samo pocetak, a da se sve nadalje samostalno uci i to mi nije problem. Zanima me da li neko moze da podeli neka svoja iskustva sa ucenjem jave i da me posavetuje sa kojim kursem da krenem. Unapred hvala
Dreamfall je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Tagovi
java


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Java - out of Memory Vajsmilan Aplikativni softver 6 6.2.2012 20:54
Android - pozivanje Java metoda iz native koda voodoo_ Programiranje 5 14.10.2011 8:59
Samsung D600 Java upload (USB cable) Aleksandar Programi za mobilne telefone 0 16.6.2008 13:54
Jel' se ovo misli na Java Script ili? Tim85 Internet tehnologije 2 7.12.2006 12:33
G-thing program za LG(imam U8180) za java igre trazim gde ima? besplatno?trial? Ilic Marko Programi za mobilne telefone 1 9.2.2006 14:09


Sva vremena su po Griniču +2 h. Sada je 0:00.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com