Zufallszahlen immer die gleichen
-
ich möchte hier zum testen zufallszahlen ausgeben, es kommt aber immer wieder die gleiche Zahl. Wie verhinder ich das?
for(i=0;i<10;i++)
{
srand((unsigned)time(NULL));
zufall = rand()%5;
printf("%d ",zufall);
}
-
Was glaubst du wie schnell die Schleife durchläuft ?
Du initialisierts srabd immer mit der gleichen sekunde.
Nimm srand aus der Schleife raus. Braucht man nur einmal initialisieren.
-
Wie Unix-Tom schon sagte, nimm srand einfach aus der Schleife. Dazu hatten wir hier in letzter Zeit einen schönen Thread im C++-Forum -> hier
Und auch in der FAQ steht einiges dazu -> hier
-
ok, war ja eigendlich klar, ich versteh nur nicht genau was dieses srand() macht. ALso wie das genau funktioniert.
-
Es setzt den Startwert des Zufallszahlengenerators auf das übergebene Argument. Gleiche Startwerte liefern gleiche Zufallszahlenfolgen.