Kezdőoldal » Számítástechnika » Programozás » C-ben véletlen szám?

C-ben véletlen szám?

Figyelt kérdés
Az lenne a kérdésem, hogy miért kell mindig azzal kezdeni, hogy srand(time(NULL)). Mit csinál ez a parancs?
2014. febr. 24. 18:37
 1/4 anonim ***** válasza:

A rand() függvény lényegében egy elég "kaotikus" számsorozatból adja meg mindig a következőt.


A srand() az meg ad egy "kezdő értéket", amitől a rand() számsorozat més lesz (meg lehet hívni e nélkül is csak akkor mindig ugyanazokat a számokat fogja adni ugyanabban a sorrendben).


Viszont ha ugyanazzal iniciálizálod a szám generátort (pl. srand(5)), akkor megint ugyanazokat a számokat fogod kapni.


Ezért általában seed-nek a time()-t adják meg ami az időt adja meg. Ez feltehetően minden futtatásnál más lesz bár ha pl. párhuzamosan futtatod ugyanabban az időben, akkor megint nem kívánatos eredményt ad, de ez azért már alapvető használatra alkalmas.

2014. febr. 24. 18:53
Hasznos számodra ez a válasz?
 2/4 MrPifta ***** válasza:
0%
véetlen szám? Rácsapsz egyet a Numpadra :)
2014. febr. 24. 18:58
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

[link]


de általában nem ezzel generálnak titkosítási kulcsot, mert erősen befolyásolható.

2014. febr. 24. 19:39
Hasznos számodra ez a válasz?
 4/4 iostream ***** válasza:

Nagyon jól leírta #1. Annyit tennék még hozzá, hogy:


If seed is set to 1, the generator is reinitialized to its initial value and produces the same values as before any call to rand or srand.

2014. febr. 24. 21:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!