Zufallszahlen



  • Hallo, wenn ich ZUfallszahlen generieren möchte, sollte man ja srand() davor setzen. Wieso? Was bewirkt dieses srand().

    Nochwas: Wenn das Zufallszahlen sind, warum kommen dann immer die gleichen raus?



  • srand initialisiert rand.
    Wenn du rand ohne srand aufrufst, kommen immer dieselben
    zahlen. wenn du srand aufrufst, darf es also nicht immer
    die selbe zahl sein, die du daran übergibts, in der regel
    nimmt man dafür dann einen Zeitwert.

    srand((unsigned int)time(NULL));
    

    Devil



  • Es gibt keinen Zufall, zumindest nicht auf dem PC. Daher muss der Computer für solche "Zufallsberechnungen" eine Pseudo-Zufallszahlenliste erstellen.
    Damit diese Pseudo-Zufallszahlen nicht immer gleich sind, musst du möglichst vorher immer srand benutzen um diese Zahlenliste zu erneuern.
    Damit nicht immer die gleichen rauskommen musst du möglichst variable Parameter an srand übergeben, also am besten die aktuelle Zeit (in ms). 😉


Anmelden zum Antworten