C ++ srand () - C ++ Standardbibliothek

Die Funktion srand () in C ++ setzt den Pseudozufallszahlengenerator, der von der Funktion rand () verwendet wird.

Die Funktion srand () in C ++ setzt den Pseudozufallszahlengenerator, der von der Funktion rand () verwendet wird. Der Startwert für die Funktion rand () ist standardmäßig 1.

Dies bedeutet, dass sich die Funktion rand () so verhält, als wäre sie mit srand (1) gesetzt worden, wenn vor rand () kein srand () aufgerufen wird.

srand () Prototyp

 void srand (unsigned int seed);

Die Funktion srand () verwendet eine vorzeichenlose Ganzzahl als Parameter, die von der Funktion rand () als Startwert verwendet wird.

Es ist in der Header-Datei definiert.

srand () Parameter

  • seed: Ein Startwert vom Typ unsigned int

srand () Rückgabewert

  • Keiner

Die Funktion srand () gibt keinen Wert zurück.

Beispiel 1: Wie funktioniert die Funktion srand ()?

 #include #include using namespace std; int main() ( int random = rand(); /* No srand() calls before rand(), so seed = 1*/ cout << "Seed = 1, Random number = " << random << endl; srand(5); /* Seed = 5 */ random = rand(); cout << "Seed = 5, Random number = " << random << endl; return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Samen = 1, Zufallszahl = 41 Samen = 5, Zufallszahl = 54

Es wird empfohlen, den Pseudozufallszahlengenerator nur einmal zu Beginn des Programms und vor allen Aufrufen von rand () zu setzen. Es sollte nicht jedes Mal gesetzt werden, wenn wir einen neuen Satz von Zahlen generieren müssen.

Die Standardpraxis besteht darin, das Ergebnis eines Aufrufs der Zeit (0) als Startwert zu verwenden. Die Funktion time () gibt die Anzahl der Sekunden seit 00:00 Uhr, 1. Januar 1970 UTC (dh den aktuellen Unix-Zeitstempel) zurück. Der Wert des Samens ändert sich mit der Zeit. Jedes Mal, wenn wir das Programm ausführen, wird ein neuer Satz von Zufallszahlen generiert.

Beispiel 2: srand () Funktion mit time ()

 #include #include #include using namespace std; int main() ( srand(time(0)); int random = rand(); cout << "Seed = " << time(0) << endl; cout << "Random number = " << random << endl; return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Seed = 1485583981 Zufallszahl = 22589

Interessante Beiträge...