rand()-Funktion ist eine integrierte Funktion in C++ STL, die in der Header-Datei definiert ist . rand() wird verwendet, um eine Reihe von Zufallszahlen zu generieren. Die Zufallszahl wird mithilfe eines Algorithmus generiert, der bei jedem Aufruf dieser Funktion eine Reihe nicht zusammenhängender Zahlen liefert. Die Funktion rand() wird in C++ verwendet, um Zufallszahlen im Bereich [0, RAND_MAX) zu generieren.
RAND_MAX: Es handelt sich um eine Konstante, deren Standardwert je nach Implementierung variieren kann, es wird jedoch ein Wert von mindestens 32767 gewährt.
Syntax von rand()
int rand (void);>
Parameter von rand()
- Diese Funktion benötigt keine Parameter.
Rückgabewert von rand()
- Rand() gibt eine Pseudozufallszahl im Bereich von [0, RAND_MAX) zurück.
Angenommen, wir generieren in C++ mit Hilfe von rand() in einer Schleife fünf Zufallszahlen. Dann muss unsere Ausgabe jedes Mal, wenn wir das Programm kompilieren und ausführen, dieselbe Zahlenfolge sein.
Beispiel für rand()
C++
// C++ program to demonstrate> // the use of rand()> #include> #include> using> namespace> std;> > int> main()> {> >// This program will create some sequence of> >// random numbers on every program run> >for> (>int> i = 0; i <5; i++)> >cout <<>rand>() <<>' '>;> > >return> 0;> }> |
string a int
>
>Ausgabe
1804289383 846930886 1681692777 1714636915 1957747793>
Komplexität der Funktion rand()
Die Zeitkomplexität und die Raumkomplexität der Funktion rand() sind wie folgt:
- Zeitkomplexität: O(1) Hilfsraumkomplexität: O(1)
Notiz: Dieses Programm erstellt bei jedem Programmlauf die gleiche Folge von Zufallszahlen.
Das folgende Programm ist die Implementierung der Funktion rand(), um einen Wert aus dem Bereich 0 bis N-1 zu erhalten
C++
sonst wenn Java
// C++ program to demonstrate the> // use of rand() to get value> // in a range of 0 to N-1> #include> #include> using> namespace> std;> > int> main()> {> >int> N = 100;> >// This program will create some sequence of random> >// numbers on every program run within range 0 to N-1> >for> (>int> i = 0; i <5; i++)> >cout <<>rand>() % N <<>' '>;> > >return> 0;> }> > // This code is contributed by Susobhan Akhuli> |
>
Algorithmus für BFS
>Ausgabe
83 86 77 15 93>
Das folgende Programm ist die Implementierung der Funktion rand(), um einen Wert von Upper_Bound bis Lower_Bound zu erhalten.
C++
// C++ program to demonstrate> // the use of rand() to get value> // in a range of lb to ub> #include> #include> using> namespace> std;> > int> main()> {> >int> lb = 20, ub = 100;> >// This program will create some sequence of random> >// numbers on every program run within range lb to ub> >for> (>int> i = 0; i <5; i++)> >cout << (>rand>() % (ub - lb + 1)) + lb <<>' '>;> > >return> 0;> }> > // This code is contributed by Susobhan Akhuli> |
>
>Ausgabe
66 90 38 99 88>
srand()
Die Funktion srand() ist eine integrierte Funktion in C++ STL, die in definiert ist Header-Datei. srand() wird zum Initialisieren von Zufallszahlengeneratoren verwendet. Die Funktion srand() legt den Startpunkt für die Erzeugung einer Reihe pseudozufälliger Ganzzahlen fest. Wenn srand() nicht aufgerufen wird, wird der rand()-Seed gesetzt, als ob srand(1) beim Programmstart aufgerufen würde. Jeder andere Wert für Seed setzt den Generator auf einen anderen Startpunkt.
Heap-Sortierung
Syntax von srand()
void srand( unsigned seed ); OR int srand( unsigned int seed);>
Setzt den von rand() verwendeten Pseudozufallszahlengenerator mit dem Wert Samen.
Parameter
- Samen: Ein Startwert für eine neue Folge von Pseudozufallszahlen, die durch aufeinanderfolgende Aufrufe von rand() zurückgegeben werden sollen
Rückgabewert
- Diese Funktion gibt eine pseudogenerierte Zufallszahl zurück.
Notiz: Der Pseudozufallszahlengenerator sollte nur einmal vor jedem Aufruf von rand() und zu Beginn des Programms geseedt werden. Es sollte nicht jedes Mal wiederholt gesät oder neu gesät werden, wenn Sie einen neuen Stapel von Pseudozufallszahlen generieren möchten.
Standardmäßig wird das Ergebnis eines Aufrufs verwendet srand(time(0)) als der Samen. time() gibt jedoch einen time_t-Wert zurück, der jedes Mal variiert, und daher variiert die Pseudozufallszahl bei jedem Programmaufruf.

Rand() Und srand() Vergleich
Beispiel für srand()
C++
Rujira Banerjee
// C++ program to generate random numbers> #include> #include> #include> using> namespace> std;> > int> main()> {> >// This program will create different sequence of> >// random numbers on every program run> > >// Use current time as seed for random generator> >srand>(>time>(0));> > >for> (>int> i = 0; i <4; i++)> >cout <<>rand>() <<>' '>;> > >return> 0;> }> |
>
>Ausgabe
1326865685 1413967981 1967280748 919663823>
Zeitkomplexität : O(N), wobei N die Anzahl der zu generierenden Zufallszahlen ist.
Notiz: Dieses Programm erstellt bei jedem Programmdurchlauf eine andere Folge von Zufallszahlen.
In welcher Beziehung stehen srand() und rand() zueinander?
srand() legt den Startwert fest, der von rand zum Generieren von Zufallszahlen verwendet wird. Wenn Sie srand nicht vor Ihrem ersten Aufruf von rand aufrufen, ist es so, als hätten Sie srand(1) aufgerufen, um den Startwert auf eins zu setzen.
Zusamenfassend, srand() – Startwert für die rand()-Funktion festlegen .