Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
.anchy. Forumaš(ica)

Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16
Lokacija: Zgb
|
|
[Vrh] |
|
Alisa Forumaš(ica)

Pridružen/a: 16. 02. 2008. (15:34:59) Postovi: (4E)16
|
|
[Vrh] |
|
hermiona Forumaš(ica)

Pridružen/a: 03. 10. 2009. (12:16:59) Postovi: (6)16
|
|
[Vrh] |
|
Cobs Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol: 
Lokacija: Geto
|
|
[Vrh] |
|
Tomy007 Forumaš(ica)

Pridružen/a: 08. 11. 2009. (19:45:28) Postovi: (94)16
|
Postano: 19:23 pet, 27. 5. 2011 Naslov: Re: 4.zadaća |
|
|
[quote=".anchy."]Kako bi išao algoritam za osnu simetriju točke A(x0,y0) preko pravca p... y=kx+l?
Ja znam to crtati,ali ne bih znala napisati algoritam(jedino ono s udaljenosti točke A do pravca p, pa iskoristiti to i okomiti pravac pravcu p kroz A,ali mi je to komplicirano jako za pisati )[/quote]
Evo izveo sam formulu.
Prvo dogovor oko varijabli: pravac je oblika Ax1+By1+C=0 (to je bolje od kx + l), točka koju zrcalim je (x1,y1) i točka koju želim dobiti je (x2,y2)
Postoje 3 slučaja :
1. kosi pravac :
[latex]x_{2}=\frac{(B^{2}-A^{2})x_{1}-2ABy_{1}-2AC}{A^{2}+B^{2}}[/latex]
[latex]y_{2}=\frac{B}{A}x_{2}-\frac{B}{A}x_{1}+y_{1}[/latex]
Za 2. i 3. nam treba udaljenost točke od pravca a taj operator imaš (za svaki slučaj napiši taj operator prije ovog), to je operator Tocka - Pravac, nazovimo tu udaljenost d.
2. A=0 :
Tražena točka je (x1, 2*(+/-)d) , + i - ovise o položaju pravca, ako je pravac iznad onda je + a ako ispod onda -.
3.B=0 :
Tražena točka je (2*(+/-)d, y1), + i - ovise o položaju pravca, ako je desno onda je + a ako je lijevo onda je -
Mislim da je to točno, ali ako mi se prikrala koja greška neka me netko ispravi.
.anchy. (napisa): | Kako bi išao algoritam za osnu simetriju točke A(x0,y0) preko pravca p... y=kx+l?
Ja znam to crtati,ali ne bih znala napisati algoritam(jedino ono s udaljenosti točke A do pravca p, pa iskoristiti to i okomiti pravac pravcu p kroz A,ali mi je to komplicirano jako za pisati ) |
Evo izveo sam formulu.
Prvo dogovor oko varijabli: pravac je oblika Ax1+By1+C=0 (to je bolje od kx + l), točka koju zrcalim je (x1,y1) i točka koju želim dobiti je (x2,y2)
Postoje 3 slučaja :
1. kosi pravac :
Za 2. i 3. nam treba udaljenost točke od pravca a taj operator imaš (za svaki slučaj napiši taj operator prije ovog), to je operator Tocka - Pravac, nazovimo tu udaljenost d.
2. A=0 :
Tražena točka je (x1, 2*(+/-)d) , + i - ovise o položaju pravca, ako je pravac iznad onda je + a ako ispod onda -.
3.B=0 :
Tražena točka je (2*(+/-)d, y1), + i - ovise o položaju pravca, ako je desno onda je + a ako je lijevo onda je -
Mislim da je to točno, ali ako mi se prikrala koja greška neka me netko ispravi.
|
|
[Vrh] |
|
Gost
|
Postano: 21:53 pet, 27. 5. 2011 Naslov: |
|
|
Evo, staviti ću ja svoj kod za geometriju, možda nekom bude koristan. Provjereno je i na prste, pa se nadam da je ok.
I mala napomena: u mom programu postoji i operator za ispis pravca i ispis je: y=k*x+l, to sam dosta koristila u mainu.
[code:1]#include <iostream>
#include <cmath>
#include "geometrija.h"
int main (void){
Tocka T1;
Tocka T2(5,2);
Tocka T3(1,-1);
Tocka T4(7,7);
Tocka T5(4,-5);
Tocka T6;
cout<<"Ispisujem koordinate tocaka:"<<endl;
cout<<T1<<endl;
cout<<T2<<endl;
cout<<T3<<T4<<T5<<T6<<endl;
cout<<endl;
cout<<"Da li radi T.x?"<<endl;
cout<<T2.x<<endl;
cout<<endl;
cout<<"Ispisujem pravac koji prolazi kroz tocke T1 i T3:"<<endl;
cout<<T1/T3;
cout<<endl;
cout<<"Ispisujem pravac koji prolazi kroz tocke T5 i T5:"<<endl;
cout<<T5/T5;
cout<<endl;
cout<<endl;
if( (T1/T3) || (T5/T5) ) cout<<"Da, pravci su paralelni!"<<endl;
else cout<<"Pravci nisu paralelni!"<<endl;
if( (T1/T3) || (T3/T6) ) cout<<"Da, pravci su paralelni!"<<endl;
else cout<<"Pravci nisu paralelni!"<<endl;
cout<<endl;
if( (T1/T3) == (T1/T5) ) cout<<"Da, pravci su jednaki!"<<endl;
else cout<<"Pravci nisu jednaki!"<<endl;
if( (T1/T3) || (T3/T6) ) cout<<"Da, pravci su jednaki!"<<endl;
else cout<<"Pravci nisu jednaki!"<<endl;
cout<<endl;
Pravac P1(0,1);
Pravac P2(-1,0);
Pravac P3=T1/T3;
cout<<P3<<endl<<endl;
cout<<"Kutevi medu pravcima su:"<<endl;
double k=(T1/T3)^(T1/T5);
double t=(T1/T4)^(T3/T5);
double s=(T6/T3)^(T1/T2);
double v=(P1^P2);
cout<<k<<" , "<<t<<" , "<<s<<" , "<<v<<endl;
cout<<endl;
cout<<"Translacija pravca:"<<endl;
Pravac P4(1,2);
Tocka T7(5,1);
Pravac P5=P4^T7;
cout<<P5;
cout<<endl;
cout<<"Sjecista pravaca:"<<endl;
Pravac P6(-1,0);
Pravac P7(1,0);
Tocka K=P6+P7;
cout<<K<<endl;
cout<<((T1/T3)+(T5/T2))<<endl;
cout<<endl;
cout<<"Udaljenost pravaca:"<<endl;
Pravac P8(3,2);
Tocka T8(5,7);
double x=T8-P8;
cout<<x<<endl;
cout<<endl;
cout<<"Ortogonalna projekcija tocke na pravac:"<<endl;
Tocka O= T8|P8;
cout<<O<<endl;
cout<<endl;
cout<<"Zrcaljenje tocke i pravca:"<<endl;
Tocka D(6,2);
Pravac M(4,-5);
Tocka Z=D%M;
cout<<Z<<endl;
cout<<endl;
Tocka S1(2,3);
Tocka S2(4,5);
Tocka T(3,-4);
Pravac P=S1/S2;
cout<<"Pravac P koji prolazi kroz S1 i S2 jest: "<<P<<endl<<endl;
cout<<"Udaljenosti pravca P od tocke S1, S2 i T su redom:"<<endl;
cout<<S1-P<<endl;
cout<<S2-P<<endl;
cout<<T-P<<endl;
cout<<endl;
cout<<"Zrcaljenje tocke S i pravca P je tocka:"<<endl;
Tocka zrcaljenje=T%P;
cout<<zrcaljenje<<endl<<endl;
cout<<"Ortogonalna projekcija tocke T na pravac P je tocka:"<<endl;
Tocka ortpro=T|P;
cout<<ortpro<<endl<<endl;
cout<<"Translacija pravca P s obzirom na tocku T je pravac:"<<endl;
Pravac translacija=P^T;
cout<<translacija<<endl<<endl;
cout<<"Translacija pravca P s obzirom na tocku T koju mijenjamo operatorom %=:"<<endl;
Tocka zrcaljenje1=(T%=P);
Pravac translacija1=P^T;
cout<<translacija1<<endl<<endl;
return 0;[/code:1]
I ono što bi se trebalo ispisati:
[code:1] Ispisujem koordinate tocaka:
(0,0)
(5,2)
(1,-1)(7,7)(4,-5)(0,0)
Da li radi T.x?"
5
Ispisujem pravac koji prolazi kroz tocke T1 i T3:"
y = -1 * x
Ispisujem pravac koji prolazi kroz tocke T5 i T5:
y = -5
Pravci nisu paralelni!
Da, pravci su paralelni!
Pravci nisu jednaki!
Da, pravci su jednaki!
y=-1*x;
Kutevi medu pravcima su:
0.110657, -1.4289, 1.1659, 0.785398
Translacija pravca:
y=1*x + -4
Sjecista pravaca:
(0,0)
(4.125,-4.125)
Udaljenost pravaca:
3.16228
Ortogonalna projekcija tocke na pravac:
(2,8)
Zrcaljenje tocke i pravca:
(-2,4)
Pravac P koji prolazi kroz S1 i S2 jest: y=1*x+1
Udaljenosti pravca P od tocke S1, S2 i T su redom:
0
0
5.65685
Zrcaljenje tocke S i pravca P je tocka:
(-5,4)
Ortogonalna projekcija tocke T na pravac P je tocka
(-1,0)
Translacija pravca P s obzirom na tocku T je pravac:
y=1*x-7
Translacija pravca P s obzirom na tocku T koju mijenjamo operatorom %=:
y=1*x+9[/code:1]
Evo, staviti ću ja svoj kod za geometriju, možda nekom bude koristan. Provjereno je i na prste, pa se nadam da je ok.
I mala napomena: u mom programu postoji i operator za ispis pravca i ispis je: y=k*x+l, to sam dosta koristila u mainu.
Kod: | #include <iostream>
#include <cmath>
#include "geometrija.h"
int main (void){
Tocka T1;
Tocka T2(5,2);
Tocka T3(1,-1);
Tocka T4(7,7);
Tocka T5(4,-5);
Tocka T6;
cout<<"Ispisujem koordinate tocaka:"<<endl;
cout<<T1<<endl;
cout<<T2<<endl;
cout<<T3<<T4<<T5<<T6<<endl;
cout<<endl;
cout<<"Da li radi T.x?"<<endl;
cout<<T2.x<<endl;
cout<<endl;
cout<<"Ispisujem pravac koji prolazi kroz tocke T1 i T3:"<<endl;
cout<<T1/T3;
cout<<endl;
cout<<"Ispisujem pravac koji prolazi kroz tocke T5 i T5:"<<endl;
cout<<T5/T5;
cout<<endl;
cout<<endl;
if( (T1/T3) || (T5/T5) ) cout<<"Da, pravci su paralelni!"<<endl;
else cout<<"Pravci nisu paralelni!"<<endl;
if( (T1/T3) || (T3/T6) ) cout<<"Da, pravci su paralelni!"<<endl;
else cout<<"Pravci nisu paralelni!"<<endl;
cout<<endl;
if( (T1/T3) == (T1/T5) ) cout<<"Da, pravci su jednaki!"<<endl;
else cout<<"Pravci nisu jednaki!"<<endl;
if( (T1/T3) || (T3/T6) ) cout<<"Da, pravci su jednaki!"<<endl;
else cout<<"Pravci nisu jednaki!"<<endl;
cout<<endl;
Pravac P1(0,1);
Pravac P2(-1,0);
Pravac P3=T1/T3;
cout<<P3<<endl<<endl;
cout<<"Kutevi medu pravcima su:"<<endl;
double k=(T1/T3)^(T1/T5);
double t=(T1/T4)^(T3/T5);
double s=(T6/T3)^(T1/T2);
double v=(P1^P2);
cout<<k<<" , "<<t<<" , "<<s<<" , "<<v<<endl;
cout<<endl;
cout<<"Translacija pravca:"<<endl;
Pravac P4(1,2);
Tocka T7(5,1);
Pravac P5=P4^T7;
cout<<P5;
cout<<endl;
cout<<"Sjecista pravaca:"<<endl;
Pravac P6(-1,0);
Pravac P7(1,0);
Tocka K=P6+P7;
cout<<K<<endl;
cout<<((T1/T3)+(T5/T2))<<endl;
cout<<endl;
cout<<"Udaljenost pravaca:"<<endl;
Pravac P8(3,2);
Tocka T8(5,7);
double x=T8-P8;
cout<<x<<endl;
cout<<endl;
cout<<"Ortogonalna projekcija tocke na pravac:"<<endl;
Tocka O= T8|P8;
cout<<O<<endl;
cout<<endl;
cout<<"Zrcaljenje tocke i pravca:"<<endl;
Tocka D(6,2);
Pravac M(4,-5);
Tocka Z=D%M;
cout<<Z<<endl;
cout<<endl;
Tocka S1(2,3);
Tocka S2(4,5);
Tocka T(3,-4);
Pravac P=S1/S2;
cout<<"Pravac P koji prolazi kroz S1 i S2 jest: "<<P<<endl<<endl;
cout<<"Udaljenosti pravca P od tocke S1, S2 i T su redom:"<<endl;
cout<<S1-P<<endl;
cout<<S2-P<<endl;
cout<<T-P<<endl;
cout<<endl;
cout<<"Zrcaljenje tocke S i pravca P je tocka:"<<endl;
Tocka zrcaljenje=T%P;
cout<<zrcaljenje<<endl<<endl;
cout<<"Ortogonalna projekcija tocke T na pravac P je tocka:"<<endl;
Tocka ortpro=T|P;
cout<<ortpro<<endl<<endl;
cout<<"Translacija pravca P s obzirom na tocku T je pravac:"<<endl;
Pravac translacija=P^T;
cout<<translacija<<endl<<endl;
cout<<"Translacija pravca P s obzirom na tocku T koju mijenjamo operatorom %=:"<<endl;
Tocka zrcaljenje1=(T%=P);
Pravac translacija1=P^T;
cout<<translacija1<<endl<<endl;
return 0; |
I ono što bi se trebalo ispisati:
Kod: | Ispisujem koordinate tocaka:
(0,0)
(5,2)
(1,-1)(7,7)(4,-5)(0,0)
Da li radi T.x?"
5
Ispisujem pravac koji prolazi kroz tocke T1 i T3:"
y = -1 * x
Ispisujem pravac koji prolazi kroz tocke T5 i T5:
y = -5
Pravci nisu paralelni!
Da, pravci su paralelni!
Pravci nisu jednaki!
Da, pravci su jednaki!
y=-1*x;
Kutevi medu pravcima su:
0.110657, -1.4289, 1.1659, 0.785398
Translacija pravca:
y=1*x + -4
Sjecista pravaca:
(0,0)
(4.125,-4.125)
Udaljenost pravaca:
3.16228
Ortogonalna projekcija tocke na pravac:
(2,8)
Zrcaljenje tocke i pravca:
(-2,4)
Pravac P koji prolazi kroz S1 i S2 jest: y=1*x+1
Udaljenosti pravca P od tocke S1, S2 i T su redom:
0
0
5.65685
Zrcaljenje tocke S i pravca P je tocka:
(-5,4)
Ortogonalna projekcija tocke T na pravac P je tocka
(-1,0)
Translacija pravca P s obzirom na tocku T je pravac:
y=1*x-7
Translacija pravca P s obzirom na tocku T koju mijenjamo operatorom %=:
y=1*x+9 |
|
|
[Vrh] |
|
babybodom Forumaš(ica)

Pridružen/a: 29. 06. 2009. (22:03:01) Postovi: (31)16
Lokacija: zagreb
|
Postano: 22:38 pet, 27. 5. 2011 Naslov: |
|
|
[quote="Anonymous"]Evo, staviti ću ja svoj kod za geometriju, možda nekom bude koristan. Provjereno je i na prste, pa se nadam da je ok.
I mala napomena: u mom programu postoji i operator za ispis pravca i ispis je: y=k*x+l, to sam dosta koristila u mainu.
[/quote]
e puno hvala na ovome mainu! super je
btw... Pravac P(k,l); da?
ja sam u svom konstruktoru napravio da bude P(A,B) gdje su A i B tocke... (ubiti to je maltene isto kao i P=A/B operacija)... a k i l sam stavio da mi automatski onda racuna na to...
i vjerujem da na kraju... test mainovi nece provoditi konstruktor za pravac... posto u samom zadatku nigdje ne pise kako taj konstruktor treba tocno izgledat... a eto kako i vidimo... mi imamo 2 razlicita konstruktora za pravac... a i jedan i drugi rade :D
i jos jednom puno hvala na ovom mainu...
ja sam napisao svoj... ali nisam gotov s jos nekim funkcijama... plus... moj main je uzasno zbrkan :D
no budem postao ga kada zavrsim... da vidimo i to cudo :oops:
Anonymous (napisa): | Evo, staviti ću ja svoj kod za geometriju, možda nekom bude koristan. Provjereno je i na prste, pa se nadam da je ok.
I mala napomena: u mom programu postoji i operator za ispis pravca i ispis je: y=k*x+l, to sam dosta koristila u mainu.
|
e puno hvala na ovome mainu! super je
btw... Pravac P(k,l); da?
ja sam u svom konstruktoru napravio da bude P(A,B) gdje su A i B tocke... (ubiti to je maltene isto kao i P=A/B operacija)... a k i l sam stavio da mi automatski onda racuna na to...
i vjerujem da na kraju... test mainovi nece provoditi konstruktor za pravac... posto u samom zadatku nigdje ne pise kako taj konstruktor treba tocno izgledat... a eto kako i vidimo... mi imamo 2 razlicita konstruktora za pravac... a i jedan i drugi rade
i jos jednom puno hvala na ovom mainu...
ja sam napisao svoj... ali nisam gotov s jos nekim funkcijama... plus... moj main je uzasno zbrkan
no budem postao ga kada zavrsim... da vidimo i to cudo
_________________ may the noobishness be with you 
|
|
[Vrh] |
|
AR Forumaš(ica)

Pridružen/a: 14. 03. 2011. (23:25:56) Postovi: (D)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
kakt00s Forumaš(ica)


Pridružen/a: 17. 10. 2007. (12:19:40) Postovi: (183)16
Spol: 
Lokacija: :ɐɾıɔɐʞoן
|
|
[Vrh] |
|
.anchy. Forumaš(ica)

Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16
Lokacija: Zgb
|
Postano: 13:09 sub, 28. 5. 2011 Naslov: |
|
|
@Gost: Meni drugi kut ispada sa pozitivnim predznakom,a tako mi je ispao i ručno?
@Tomy007 i samoj sebi:
Pa naravno da postoji lakši način :oops:
Imamo točku A(x1,y1) koju trebamo zrcaliti preko pravca p, lako nađemo pravac okomit na pravac p koji prolazi kroz A(nazovimo ga p'), izračunamo koordinate sjecišta ta 2 pravca(S(xS,yS)). I sada ono trivijano:ta točka je polovište dužine AA' :lol:
Dakle,koordinate tražene točke A':
x'=2*xS-x1
y'=2*yS-y1
edit:prvi komentar nije bio točan,pa sam ga izbrisala,ali ipak mislim da nije točan algoritam od Tomyja?
@Gost: Meni drugi kut ispada sa pozitivnim predznakom,a tako mi je ispao i ručno?
@Tomy007 i samoj sebi:
Pa naravno da postoji lakši način
Imamo točku A(x1,y1) koju trebamo zrcaliti preko pravca p, lako nađemo pravac okomit na pravac p koji prolazi kroz A(nazovimo ga p'), izračunamo koordinate sjecišta ta 2 pravca(S(xS,yS)). I sada ono trivijano:ta točka je polovište dužine AA'
Dakle,koordinate tražene točke A':
x'=2*xS-x1
y'=2*yS-y1
edit:prvi komentar nije bio točan,pa sam ga izbrisala,ali ipak mislim da nije točan algoritam od Tomyja?
|
|
[Vrh] |
|
Gost
|
Postano: 14:26 sub, 28. 5. 2011 Naslov: |
|
|
Evo moj main za Random ako kome pomaže:
int main(){
Random kocka(1,6), kocka1(1,6), kocka2(2,6), R(2), R1(2), R2(6,1), R3(-1,-6), R4(-6,-1);
cout<<kocka<<endl;
cout<<(kocka!=kocka1)<<endl;
cout<<(R3==R4)<<endl;
cout<<kocka-kocka<<endl;
cout<<kocka+kocka<<endl;
cout<<kocka*2<<endl;
cout<<2*kocka<<endl;
cout<<kocka*kocka<<endl;
cout<<*(kocka*kocka)<<endl;
cout<<~(kocka*kocka)<<endl;
cout<<(kocka<kocka1)<<endl;
const Random K(1,2);
cout<< (R=3) <<endl;
cout<< (kocka=7) <<endl;
cout<< (kocka=3) <<endl;
/*
1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
1
1
0:100%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
149.139
15.1667
0.416667
0
0
0.166667
*/
return 0;
}
Evo moj main za Random ako kome pomaže:
int main(){
Random kocka(1,6), kocka1(1,6), kocka2(2,6), R(2), R1(2), R2(6,1), R3(-1,-6), R4(-6,-1);
cout<<kocka<<endl;
cout<<(kocka!=kocka1)<<endl;
cout<<(R3==R4)<<endl;
cout<<kocka-kocka<<endl;
cout<<kocka+kocka<<endl;
cout<<kocka*2<<endl;
cout<<2*kocka<<endl;
cout<<kocka*kocka<<endl;
cout<<*(kocka*kocka)<<endl;
cout<<~(kocka*kocka)<<endl;
cout<<(kocka<kocka1)<<endl;
const Random K(1,2);
cout<< (R=3) <<endl;
cout<< (kocka=7) <<endl;
cout<< (kocka=3) <<endl;
/*
1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
1
1
0:100%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
149.139
15.1667
0.416667
0
0
0.166667
*/
return 0;
}
|
|
[Vrh] |
|
Cobs Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol: 
Lokacija: Geto
|
Postano: 15:23 sub, 28. 5. 2011 Naslov: |
|
|
[quote="Anonymous"]Evo moj main za Random ako kome pomaže:
int main(){
Random kocka(1,6), kocka1(1,6), kocka2(2,6), R(2), R1(2), R2(6,1), R3(-1,-6), R4(-6,-1);
cout<<kocka<<endl;
cout<<(kocka!=kocka1)<<endl;
cout<<(R3==R4)<<endl;
cout<<kocka-kocka<<endl;
cout<<kocka+kocka<<endl;
cout<<kocka*2<<endl;
cout<<2*kocka<<endl;
cout<<kocka*kocka<<endl;
cout<<*(kocka*kocka)<<endl;
cout<<~(kocka*kocka)<<endl;
cout<<(kocka<kocka1)<<endl;
const Random K(1,2);
cout<< (R=3) <<endl;
cout<< (kocka=7) <<endl;
cout<< (kocka=3) <<endl;
/*
1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
1
1
0:100%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
149.139
15.1667
0.416667
0
0
0.166667
*/
return 0;
}[/quote]
meni se neki rezultati razlikuju...
1. stvar je dal se mogu varijable konstruirati kao:
[code:1]Random R4( -6, -1 );[/code:1]
-> no to je najmanji problem ako se mogu i tako
[code:1]1: 1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
2. 1
3. 1
4. 0:100%
5. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
6. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
7. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
8. 1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
9. 149.139
10. 15.1667
11. 0.416667
12. 0
13. 0
14. 0.166667 [/code:1]
evo nadopisao sam brojeve redova u tvoje rješenje pa ću samo napisati koji su mi redovi različiti
1. razlika: u redu 3. ( meni ispiše 0, no to je samo pitanje smijel li se u konstruktor prvo staviti veći pa onda manji broj )
2. razlika: u redu 5. meni se ispisuje:
[code:1]2:3%,3:6%,4:8%,5:11%,6:14%,7:17%,8:14%,9:11%,10:8%,11:6%,12:3%[/code:1]
( tj. postoji razlika između varijabla kocka+kocka i 2*kocka , barem koliko sam shvatio iz zadatka... )
3.razlika: u redu 8. meni se ispisuje:
[code:1]1:3%,2:6%,3:6%,4:8%,5:6%,6:11%,8:6%,9:3%,10:6%,12:11%,15:6%,16:3%,18:6%,20:6%,24:6%,25:3%,30:6%,36:3%[/code:1]
( opet kao i kod zbrajanja mislim da se u obzir uzimaju sve moguće kombinacije množenja )
4.razlika: u redu 9. meni se ispisuje: 130.265
5. razlika: u redu 10. meni se ispisuje: 12.25
no te zadnje dvije razlike su posljedica našeg razlikovanja slučajnih varijabla kocka*kocka
Anonymous (napisa): | Evo moj main za Random ako kome pomaže:
int main(){
Random kocka(1,6), kocka1(1,6), kocka2(2,6), R(2), R1(2), R2(6,1), R3(-1,-6), R4(-6,-1);
cout<<kocka<<endl;
cout<<(kocka!=kocka1)<<endl;
cout<<(R3==R4)<<endl;
cout<<kocka-kocka<<endl;
cout<<kocka+kocka<<endl;
cout<<kocka*2<<endl;
cout<<2*kocka<<endl;
cout<<kocka*kocka<<endl;
cout<<*(kocka*kocka)<<endl;
cout<<~(kocka*kocka)<<endl;
cout<<(kocka<kocka1)<<endl;
const Random K(1,2);
cout<< (R=3) <<endl;
cout<< (kocka=7) <<endl;
cout<< (kocka=3) <<endl;
/*
1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
1
1
0:100%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
149.139
15.1667
0.416667
0
0
0.166667
*/
return 0;
} |
meni se neki rezultati razlikuju...
1. stvar je dal se mogu varijable konstruirati kao:
Kod: | Random R4( -6, -1 ); |
→ no to je najmanji problem ako se mogu i tako
Kod: | 1: 1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
2. 1
3. 1
4. 0:100%
5. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
6. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
7. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
8. 1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
9. 149.139
10. 15.1667
11. 0.416667
12. 0
13. 0
14. 0.166667 |
evo nadopisao sam brojeve redova u tvoje rješenje pa ću samo napisati koji su mi redovi različiti
1. razlika: u redu 3. ( meni ispiše 0, no to je samo pitanje smijel li se u konstruktor prvo staviti veći pa onda manji broj )
2. razlika: u redu 5. meni se ispisuje:
Kod: | 2:3%,3:6%,4:8%,5:11%,6:14%,7:17%,8:14%,9:11%,10:8%,11:6%,12:3% |
( tj. postoji razlika između varijabla kocka+kocka i 2*kocka , barem koliko sam shvatio iz zadatka... )
3.razlika: u redu 8. meni se ispisuje:
Kod: | 1:3%,2:6%,3:6%,4:8%,5:6%,6:11%,8:6%,9:3%,10:6%,12:11%,15:6%,16:3%,18:6%,20:6%,24:6%,25:3%,30:6%,36:3% |
( opet kao i kod zbrajanja mislim da se u obzir uzimaju sve moguće kombinacije množenja )
4.razlika: u redu 9. meni se ispisuje: 130.265
5. razlika: u redu 10. meni se ispisuje: 12.25
no te zadnje dvije razlike su posljedica našeg razlikovanja slučajnih varijabla kocka*kocka
|
|
[Vrh] |
|
some_dude Forumaš(ica)

Pridružen/a: 08. 11. 2009. (16:23:13) Postovi: (59)16
Spol: 
Lokacija: Zd-Zg
|
Postano: 15:28 sub, 28. 5. 2011 Naslov: |
|
|
[quote="Alisa"]Da li ima netko main za zadatak "Surd"???[/quote]
[code:1]#include <iostream>
#include "surd.h"
using namespace std;
int main(void)Postano: 16:27 sub, 28. 5. 2011 Naslov: Surdovi
Main za surdove:
Kod
{
Surd A(2, 1, 15);
Surd B(0, 5, 13);
Surd C(4, 5, 15);
Surd G(0, 2, 5);
Surd F(0, 3, 7);
cout << "Vrijednost surda A je " << A << endl; // Vrijednost surda je 2+1@15
cout << "Vrijednost surda B je " << B << endl; // Vrijednost surda je 5@13
Surd D(0);
D = A + C + A;
cout << "Vrijednost surda D je " << D << endl; // Vrijednost surda D je 8+7@15
cout << "Vrijednost surda A + C + A je " << A + C + A << endl; // Vrijednost surda A + C + A je 8+7@15
Surd E(0);
E = G + F;
cout << "Vrijednost surda E je " << E << endl; // Vrijednost surda E je NaS
cout << "Vrijednost surda G + F je " << G + F << endl; // Vrijednost surda G + F je NaS
A++= 6;
cout << "Vrijednost surda A je " << A << endl; //Vrijednost surda A je 2+6@15
A = ~A;
cout << "Vrijednost surda A je " << A << endl; //Vrijednost surda A je 2-6@15
C = -B;
cout << "Vrijednost surda C je " << C << endl; //Vrijednost surda C je -5@13
int a = *D;
cout << "Vrijednost norme surda D je " << a << endl; // Vrijednost norme surda D je 799
F = F + F;
cout << "Vrijednost surda F je " << F << endl; //Vrijednost surda F je 6@7
int b = F++;
cout << "Vrijednost broja ++F je " << b << endl; //Vrijednost broja ++F je 6
Surd t = F^2;
cout << "Vrijednost surda t je " << t << endl; //Vrijednost surda t je 252
t = F^3;
cout << "Vrijednost surda t je " << t << endl; //Vrijednost surda t je 1512@7
Surd N(1,1,2);
t = N^3;
cout << "Vrijednost surda t je " << t << endl; //Vrijednost surda t je 7+5@2
Surd X(1,2,-17);
Surd Y(3,4,-17);
cout << "Vrijednost surda X je " << X << endl; //Vrijednost surda X je 1+2i@17
cout << "Vrijednost surda Y je " << Y << endl; //Vrijednost surda Y je 3+4i@17
Surd Z = X + Y;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 4+6i@17
Surd a1(1,5,13), b1(2,7,13), c(2,2,-1), d(1,3,-1);
Z = a1 + b1;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 10+5@13
Z = c + d;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 4+5i
Z = a1 - b1;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je -1-2@13
Z = c - d;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 1-i
Surd a2(2,-31,5);
cout << "Vrijednost surda a2 je " << a2 << endl; //Vrijednost surda a2 je 2-31@5
return 0;
}[/code:1]
Alisa (napisa): | Da li ima netko main za zadatak "Surd"??? |
Kod: | #include <iostream>
#include "surd.h"
using namespace std;
int main(void)Postano: 16:27 sub, 28. 5. 2011 Naslov: Surdovi
Main za surdove:
Kod
{
Surd A(2, 1, 15);
Surd B(0, 5, 13);
Surd C(4, 5, 15);
Surd G(0, 2, 5);
Surd F(0, 3, 7);
cout << "Vrijednost surda A je " << A << endl; // Vrijednost surda je 2+1@15
cout << "Vrijednost surda B je " << B << endl; // Vrijednost surda je 5@13
Surd D(0);
D = A + C + A;
cout << "Vrijednost surda D je " << D << endl; // Vrijednost surda D je 8+7@15
cout << "Vrijednost surda A + C + A je " << A + C + A << endl; // Vrijednost surda A + C + A je 8+7@15
Surd E(0);
E = G + F;
cout << "Vrijednost surda E je " << E << endl; // Vrijednost surda E je NaS
cout << "Vrijednost surda G + F je " << G + F << endl; // Vrijednost surda G + F je NaS
A++= 6;
cout << "Vrijednost surda A je " << A << endl; //Vrijednost surda A je 2+6@15
A = ~A;
cout << "Vrijednost surda A je " << A << endl; //Vrijednost surda A je 2-6@15
C = -B;
cout << "Vrijednost surda C je " << C << endl; //Vrijednost surda C je -5@13
int a = *D;
cout << "Vrijednost norme surda D je " << a << endl; // Vrijednost norme surda D je 799
F = F + F;
cout << "Vrijednost surda F je " << F << endl; //Vrijednost surda F je 6@7
int b = F++;
cout << "Vrijednost broja ++F je " << b << endl; //Vrijednost broja ++F je 6
Surd t = F^2;
cout << "Vrijednost surda t je " << t << endl; //Vrijednost surda t je 252
t = F^3;
cout << "Vrijednost surda t je " << t << endl; //Vrijednost surda t je 1512@7
Surd N(1,1,2);
t = N^3;
cout << "Vrijednost surda t je " << t << endl; //Vrijednost surda t je 7+5@2
Surd X(1,2,-17);
Surd Y(3,4,-17);
cout << "Vrijednost surda X je " << X << endl; //Vrijednost surda X je 1+2i@17
cout << "Vrijednost surda Y je " << Y << endl; //Vrijednost surda Y je 3+4i@17
Surd Z = X + Y;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 4+6i@17
Surd a1(1,5,13), b1(2,7,13), c(2,2,-1), d(1,3,-1);
Z = a1 + b1;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 10+5@13
Z = c + d;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 4+5i
Z = a1 - b1;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je -1-2@13
Z = c - d;
cout << "Vrijednost surda Z je " << Z << endl; //Vrijednost surda Z je 1-i
Surd a2(2,-31,5);
cout << "Vrijednost surda a2 je " << a2 << endl; //Vrijednost surda a2 je 2-31@5
return 0;
} |
|
|
[Vrh] |
|
pbakic Forumaš(ica)

Pridružen/a: 05. 10. 2009. (17:48:30) Postovi: (143)16
Spol: 
|
Postano: 15:35 sub, 28. 5. 2011 Naslov: |
|
|
Evo jedan primjer maina za Surdove - nadam se da radi kako bi trebalo :D
Al, ko sto je i napomenuto u FAQu, ovo pokriva samo jedan (mali) dio svih mogucih kombinacija operatora...
EDIT: postojala je greska u operatoru < (usporedba kompleksnih Surdova), al sad je ispravljena
Evo jedan primjer maina za Surdove - nadam se da radi kako bi trebalo
Al, ko sto je i napomenuto u FAQu, ovo pokriva samo jedan (mali) dio svih mogucih kombinacija operatora...
EDIT: postojala je greska u operatoru < (usporedba kompleksnih Surdova), al sad je ispravljena
Description: |
|
 Download |
Filename: |
ispis.txt |
Filesize: |
436 Bytes |
Downloaded: |
173 Time(s) |
Description: |
|
 Download |
Filename: |
main.cpp |
Filesize: |
2.64 KB |
Downloaded: |
157 Time(s) |
Zadnja promjena: pbakic; 12:53 ned, 29. 5. 2011; ukupno mijenjano 2 put/a.
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
.anchy. Forumaš(ica)

Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16
Lokacija: Zgb
|
|
[Vrh] |
|
babybodom Forumaš(ica)

Pridružen/a: 29. 06. 2009. (22:03:01) Postovi: (31)16
Lokacija: zagreb
|
|
[Vrh] |
|
Gost
|
Postano: 16:19 sub, 28. 5. 2011 Naslov: |
|
|
[quote="Cobs"][quote="Anonymous"]Evo moj main za Random ako kome pomaže:
int main(){
Random kocka(1,6), kocka1(1,6), kocka2(2,6), R(2), R1(2), R2(6,1), R3(-1,-6), R4(-6,-1);
cout<<kocka<<endl;
cout<<(kocka!=kocka1)<<endl;
cout<<(R3==R4)<<endl;
cout<<kocka-kocka<<endl;
cout<<kocka+kocka<<endl;
cout<<kocka*2<<endl;
cout<<2*kocka<<endl;
cout<<kocka*kocka<<endl;
cout<<*(kocka*kocka)<<endl;
cout<<~(kocka*kocka)<<endl;
cout<<(kocka<kocka1)<<endl;
const Random K(1,2);
cout<< (R=3) <<endl;
cout<< (kocka=7) <<endl;
cout<< (kocka=3) <<endl;
/*
1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
1
1
0:100%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
149.139
15.1667
0.416667
0
0
0.166667
*/
return 0;
}[/quote]
meni se neki rezultati razlikuju...
1. stvar je dal se mogu varijable konstruirati kao:
[code:1]Random R4( -6, -1 );[/code:1]
-> no to je najmanji problem ako se mogu i tako
[code:1]1: 1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
2. 1
3. 1
4. 0:100%
5. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
6. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
7. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
8. 1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
9. 149.139
10. 15.1667
11. 0.416667
12. 0
13. 0
14. 0.166667 [/code:1]
evo nadopisao sam brojeve redova u tvoje rješenje pa ću samo napisati koji su mi redovi različiti
1. razlika: u redu 3. ( meni ispiše 0, no to je samo pitanje smijel li se u konstruktor prvo staviti veći pa onda manji broj )
nigdje ne kaže u kojem su odnosu ti brojevi
2. razlika: u redu 5. meni se ispisuje:
[code:1]2:3%,3:6%,4:8%,5:11%,6:14%,7:17%,8:14%,9:11%,10:8%,11:6%,12:3%[/code:1]
( tj. postoji razlika između varijabla kocka+kocka i 2*kocka , barem koliko sam shvatio iz zadatka... )
ne postoji jer kocka je zavisna sama sa sobom i x+x=2x=2*x
u zadatku piše da se operacije izvode ovisno o tome jesu li desni i lijevi operand zavisni ili ne
tu se upotrebljava operator !=
kocka+kocka je različito od kocka+kocka1 iako imaju istu distribuciju
3.razlika: u redu 8. meni se ispisuje:
[code:1]1:3%,2:6%,3:6%,4:8%,5:6%,6:11%,8:6%,9:3%,10:6%,12:11%,15:6%,16:3%,18:6%,20:6%,24:6%,25:3%,30:6%,36:3%[/code:1]
( opet kao i kod zbrajanja mislim da se u obzir uzimaju sve moguće kombinacije množenja )
kocka*kocka je opet drugačije jer je to zavisno jedno o drugome i onda se operacija množenja drugačije implementira
4.razlika: u redu 9. meni se ispisuje: 130.265
5. razlika: u redu 10. meni se ispisuje: 12.25
no te zadnje dvije razlike su posljedica našeg razlikovanja slučajnih varijabla kocka*kocka[/quote]
da
Cobs (napisa): | Anonymous (napisa): | Evo moj main za Random ako kome pomaže:
int main(){
Random kocka(1,6), kocka1(1,6), kocka2(2,6), R(2), R1(2), R2(6,1), R3(-1,-6), R4(-6,-1);
cout<<kocka<<endl;
cout<<(kocka!=kocka1)<<endl;
cout<<(R3==R4)<<endl;
cout<<kocka-kocka<<endl;
cout<<kocka+kocka<<endl;
cout<<kocka*2<<endl;
cout<<2*kocka<<endl;
cout<<kocka*kocka<<endl;
cout<<*(kocka*kocka)<<endl;
cout<<~(kocka*kocka)<<endl;
cout<<(kocka<kocka1)<<endl;
const Random K(1,2);
cout<< (R=3) <<endl;
cout<< (kocka=7) <<endl;
cout<< (kocka=3) <<endl;
/*
1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
1
1
0:100%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
149.139
15.1667
0.416667
0
0
0.166667
*/
return 0;
} |
meni se neki rezultati razlikuju...
1. stvar je dal se mogu varijable konstruirati kao:
Kod: | Random R4( -6, -1 ); |
→ no to je najmanji problem ako se mogu i tako
Kod: | 1: 1:17%,2:17%,3:17%,4:17%,5:17%,6:17%
2. 1
3. 1
4. 0:100%
5. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
6. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
7. 2:17%,4:17%,6:17%,8:17%,10:17%,12:17%
8. 1:17%,4:17%,9:17%,16:17%,25:17%,36:17%
9. 149.139
10. 15.1667
11. 0.416667
12. 0
13. 0
14. 0.166667 |
evo nadopisao sam brojeve redova u tvoje rješenje pa ću samo napisati koji su mi redovi različiti
1. razlika: u redu 3. ( meni ispiše 0, no to je samo pitanje smijel li se u konstruktor prvo staviti veći pa onda manji broj )
nigdje ne kaže u kojem su odnosu ti brojevi
2. razlika: u redu 5. meni se ispisuje:
Kod: | 2:3%,3:6%,4:8%,5:11%,6:14%,7:17%,8:14%,9:11%,10:8%,11:6%,12:3% |
( tj. postoji razlika između varijabla kocka+kocka i 2*kocka , barem koliko sam shvatio iz zadatka... )
ne postoji jer kocka je zavisna sama sa sobom i x+x=2x=2*x
u zadatku piše da se operacije izvode ovisno o tome jesu li desni i lijevi operand zavisni ili ne
tu se upotrebljava operator !=
kocka+kocka je različito od kocka+kocka1 iako imaju istu distribuciju
3.razlika: u redu 8. meni se ispisuje:
Kod: | 1:3%,2:6%,3:6%,4:8%,5:6%,6:11%,8:6%,9:3%,10:6%,12:11%,15:6%,16:3%,18:6%,20:6%,24:6%,25:3%,30:6%,36:3% |
( opet kao i kod zbrajanja mislim da se u obzir uzimaju sve moguće kombinacije množenja )
kocka*kocka je opet drugačije jer je to zavisno jedno o drugome i onda se operacija množenja drugačije implementira
4.razlika: u redu 9. meni se ispisuje: 130.265
5. razlika: u redu 10. meni se ispisuje: 12.25
no te zadnje dvije razlike su posljedica našeg razlikovanja slučajnih varijabla kocka*kocka |
da
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
|