jean_luc_picard
28-07-2003, 10:31
ich benutze die rand() funktion in einem unterprogramm, welches sehr oft und schnell hintereinander aufgerufen wird. mir scheint, das das programm nicht wirklich zufallszahlen verwendet, sondern bei jedem durchlauf des unterprogrammes die gleichen. die struktur des programmes sieht etwa so aus:
int prog()
{
srand((unsigned) time(NULL) );
...berechnungen mit zufallszahlen...
}
int main ()
{
int n;
for(n=0;n<100;n++)
{
prog();
}
}
das probelm ist, so nehme ich jedenfalls an, das die zeit, die zwischen den aufrufen des unterprogrammes vergeht zu klein ist, um per srand unterschiedliche initialisierungswerte für rand zu erzeugen. ich habe auch schon versucht srand im hauptptogramm aufzurufen, aber scheinbar wirkt sich das nicht auf rand() aufrufe in einem unterprogramm aus, kann das sein?
wie realisiert man das?
int prog()
{
srand((unsigned) time(NULL) );
...berechnungen mit zufallszahlen...
}
int main ()
{
int n;
for(n=0;n<100;n++)
{
prog();
}
}
das probelm ist, so nehme ich jedenfalls an, das die zeit, die zwischen den aufrufen des unterprogrammes vergeht zu klein ist, um per srand unterschiedliche initialisierungswerte für rand zu erzeugen. ich habe auch schon versucht srand im hauptptogramm aufzurufen, aber scheinbar wirkt sich das nicht auf rand() aufrufe in einem unterprogramm aus, kann das sein?
wie realisiert man das?