Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

int rand(void)
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Gea
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 08. 2004. (20:59:52)
Postovi: (5)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 13:02 pon, 6. 9. 2004    Naslov: int rand(void) Citirajte i odgovorite

int brojac[6];
int kocka () {

return (float) rand () / (RAND_MAX+1) * 6 + 1;

}

for (i = 0; i < n; i++) {
++brojac[kocka()-1];
}

Ovo su mi dijelovi programaza bacanje kocke. U polju brojac mi se broji koliko je puta pao odredjen broj. Npr. ako su u 3 kocke pali 2x4 i 1x2 to je brojac[2]=1 i brojac[4]=2.
Zanima me zasto kada u fji kocka napisem return rand () / (RAND_MAX+1) * 6 + 1;

dakle, bez casta u float, uvijek ispada da je pao broj 1, i zbog dalje programa onoliko puta koliko imam kockica. Pretp. zato sto je prototip randa int rand(void), ali zapravo ne kuzim :?
A posebno me zbunjuje kako mi se toliko puta moze ponoviti, kada sam i ukljucila srand. to bi mi kao trebalo osigurati da se ne bi uvijek generirali isri brojevi...Eto, molim ljude dobre volje da se oglase...thx
int brojac[6];
int kocka () {

return (float) rand () / (RAND_MAX+1) * 6 + 1;

}

for (i = 0; i < n; i++) {
++brojac[kocka()-1];
}

Ovo su mi dijelovi programaza bacanje kocke. U polju brojac mi se broji koliko je puta pao odredjen broj. Npr. ako su u 3 kocke pali 2x4 i 1x2 to je brojac[2]=1 i brojac[4]=2.
Zanima me zasto kada u fji kocka napisem return rand () / (RAND_MAX+1) * 6 + 1;

dakle, bez casta u float, uvijek ispada da je pao broj 1, i zbog dalje programa onoliko puta koliko imam kockica. Pretp. zato sto je prototip randa int rand(void), ali zapravo ne kuzim Confused
A posebno me zbunjuje kako mi se toliko puta moze ponoviti, kada sam i ukljucila srand. to bi mi kao trebalo osigurati da se ne bi uvijek generirali isri brojevi...Eto, molim ljude dobre volje da se oglase...thx



_________________
The world is an ugly, bad dream and all night long you can hear me scream...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
veky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 12. 2002. (19:59:43)
Postovi: (5B0)16
Sarma = la pohva - posuda
22 = 24 - 2
Lokacija: negdje daleko...

PostPostano: 13:33 pon, 6. 9. 2004    Naslov: Re: int rand(void) Citirajte i odgovorite

[quote="Gea"]int brojac[6];
int kocka () {

return (float) rand () / (RAND_MAX+1) * 6 + 1;

}

for (i = 0; i < n; i++) {
++brojac[kocka()-1];
}

Ovo su mi dijelovi programaza bacanje kocke. U polju brojac mi se broji koliko je puta pao odredjen broj. Npr. ako su u 3 kocke pali 2x4 i 1x2 to je brojac[2]=1 i brojac[4]=2.
Zanima me zasto kada u fji kocka napisem return rand () / (RAND_MAX+1) * 6 + 1;

dakle, bez casta u float, uvijek ispada da je pao broj 1, i zbog dalje programa onoliko puta koliko imam kockica. Pretp. zato sto je prototip randa int rand(void), ali zapravo ne kuzim :? [/quote]

Sasvim u skladu s Covim pravilima za određivanje tipa.
rand vraća int. RAND_MAX+1 je int. Dakle / je cjelobrojno dijeljenje. Budući da je rezultat od rand po definiciji manji od RAND_MAX , rezultat cjelobrojnog dijeljenja je 0 . A 0*6+1 je 1 , uvijek. :-)
Gea (napisa):
int brojac[6];
int kocka () {

return (float) rand () / (RAND_MAX+1) * 6 + 1;

}

for (i = 0; i < n; i++) {
++brojac[kocka()-1];
}

Ovo su mi dijelovi programaza bacanje kocke. U polju brojac mi se broji koliko je puta pao odredjen broj. Npr. ako su u 3 kocke pali 2x4 i 1x2 to je brojac[2]=1 i brojac[4]=2.
Zanima me zasto kada u fji kocka napisem return rand () / (RAND_MAX+1) * 6 + 1;

dakle, bez casta u float, uvijek ispada da je pao broj 1, i zbog dalje programa onoliko puta koliko imam kockica. Pretp. zato sto je prototip randa int rand(void), ali zapravo ne kuzim Confused


Sasvim u skladu s Covim pravilima za određivanje tipa.
rand vraća int. RAND_MAX+1 je int. Dakle / je cjelobrojno dijeljenje. Budući da je rezultat od rand po definiciji manji od RAND_MAX , rezultat cjelobrojnog dijeljenja je 0 . A 0*6+1 je 1 , uvijek. Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Gea
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 08. 2004. (20:59:52)
Postovi: (5)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 15:12 pon, 6. 9. 2004    Naslov: Citirajte i odgovorite

hmmm,
ali kak to da ovo kaj si napisao
[quote]Budući da je rezultat od rand po definiciji manji od RAND_MAX , rezultat cjelobrojnog dijeljenja je 0 . A 0*6+1 je 1 , uvijek.
[/quote]
ne vrijedi i kada imamo onaj cast (float) ?

Btw, thx na brzom odgovoru...
hmmm,
ali kak to da ovo kaj si napisao
Citat:
Budući da je rezultat od rand po definiciji manji od RAND_MAX , rezultat cjelobrojnog dijeljenja je 0 . A 0*6+1 je 1 , uvijek.

ne vrijedi i kada imamo onaj cast (float) ?

Btw, thx na brzom odgovoru...



_________________
The world is an ugly, bad dream and all night long you can hear me scream...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ahri
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07)
Postovi: (193)16
Sarma = la pohva - posuda
= 7 - 0

PostPostano: 21:46 pon, 6. 9. 2004    Naslov: Citirajte i odgovorite

kad kastas rand() u float (mozes i nazivnik), onda dijeljenje vise nije cjelobrojno...
pa je onda taj razlomak [0,1>, pa mnozen sa 6 daje broj [0,6>, sto plus jedan daje pak [1, 7>, sto pak "gledano cjelobrojno" je [1,6]
kad kastas rand() u float (mozes i nazivnik), onda dijeljenje vise nije cjelobrojno...
pa je onda taj razlomak [0,1>, pa mnozen sa 6 daje broj [0,6>, sto plus jedan daje pak [1, 7>, sto pak "gledano cjelobrojno" je [1,6]



_________________
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Gea
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 08. 2004. (20:59:52)
Postovi: (5)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 23:27 pon, 6. 9. 2004    Naslov: Citirajte i odgovorite

Thx!...ma ja sam zapravo pobrkala prioritete casta i / ... :oops:
Thx!...ma ja sam zapravo pobrkala prioritete casta i / ... Embarassed



_________________
The world is an ugly, bad dream and all night long you can hear me scream...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ahri
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07)
Postovi: (193)16
Sarma = la pohva - posuda
= 7 - 0

PostPostano: 9:46 uto, 7. 9. 2004    Naslov: Citirajte i odgovorite

ja uvijek stavim zagradu vise nego da razmisljam o takvim glupostima.
ja uvijek stavim zagradu vise nego da razmisljam o takvim glupostima.



_________________
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
veky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 12. 2002. (19:59:43)
Postovi: (5B0)16
Sarma = la pohva - posuda
22 = 24 - 2
Lokacija: negdje daleko...

PostPostano: 11:27 uto, 7. 9. 2004    Naslov: Citirajte i odgovorite

[quote="ahri"]ja uvijek stavim zagradu vise nego da razmisljam o takvim glupostima.[/quote]

A da? Zašto ti onda sig nije
fi(666)=(6*6)*6 ? :-P

Prioritet operatora, i micanje suvišnih zagrada, služe nečemu. Bilo bi besmisleno to odbaciti.
ahri (napisa):
ja uvijek stavim zagradu vise nego da razmisljam o takvim glupostima.


A da? Zašto ti onda sig nije
fi(666)=(6*6)*6 ? Razz

Prioritet operatora, i micanje suvišnih zagrada, služe nečemu. Bilo bi besmisleno to odbaciti.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
ahri
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07)
Postovi: (193)16
Sarma = la pohva - posuda
= 7 - 0

PostPostano: 15:26 uto, 7. 9. 2004    Naslov: Citirajte i odgovorite

well, ako nisam sure, onda radije stavim. :). ili kada je nesto kompleksno/osjetljivo.

p.s. upravo uocih da nam je trenutna suma postova najmanji pozitivni troznamenkasti cijeli broj u dekadskoj bazi :)
well, ako nisam sure, onda radije stavim. :). ili kada je nesto kompleksno/osjetljivo.

p.s. upravo uocih da nam je trenutna suma postova najmanji pozitivni troznamenkasti cijeli broj u dekadskoj bazi :)



_________________
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan