Portál AbcLinuxu, 15. listopadu 2025 21:11
int waitTime = 0;
srand(time(NULL));
waitTime = rand()%101;
printf("%d\n", waitTime);
Problém je, že při generování čísla v relativně bízkém časovém úseku, dostanu stejné hodnoty. Potřeboval bych, aby čísla byla opravdu rozdílná.
Díky za odpověď.
Řešení dotazu:
gettimeofday() nebo třeba hodnotu načtenou z /dev/urandom. Případně si stav generátoru ukládat do pomocného souboru.
/dev/urandom, tak by mohol vynechať ten proces seedovania a generovania nasledujúceho (pseudo)náhodného čísla. Chcem tým povedať, že sa oplatí buď priamo použiť /dev/urandom (ako pseudonáhodné číslo) alebo naseedovať (len pri spustení programu, určite nie pri každom generovaní nového čísla) hodnotou z /dev/random.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.