Heim > Backend-Entwicklung > C++ > Wie generiert man eindeutige Zufallszahlen in einer C-Schleife?

Wie generiert man eindeutige Zufallszahlen in einer C-Schleife?

Patricia Arquette
Freigeben: 2024-12-06 19:41:12
Original
916 Leute haben es durchsucht

How to Generate Unique Random Numbers in a C   Loop?

Eindeutige Zufallszahlen innerhalb einer Schleife in C generieren

Beim Durchlaufen einer Reihe von Iterationen kann es wünschenswert sein, unterschiedliche Zufallszahlen zu generieren jedes Mal, wenn die Schleife ausgeführt wird. Die Verwendung des Standard-Zufallszahlengenerators in C (srand) innerhalb der Schleife kann jedoch dazu führen, dass dieselbe Zahl wiederholt generiert wird.

Zufallszahlen-Initialisierung zurücksetzen

Zu vermeiden Um dieses Problem zu beheben und die Generierung eindeutiger Zufallszahlen sicherzustellen, ist es wichtig, den Startwert des Zufallszahlengenerators mithilfe von srand() zurückzusetzen. Diese Funktion verwendet eine Ganzzahl als Argument und initialisiert beim Aufruf den internen Status des Zufallszahlengenerators.

Implementierung

Hier ist ein Beispiel, das zeigt, wie das geht Erzeuge eindeutige Zufallszahlen innerhalb einer Schleife:

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    srand(time(NULL)); // Initialize the random number generator once

    // Execute the loop 10 times and generate a different random number each time
    for (int t = 0; t < 10; t++) {
        int random_x = rand() % 100;
        std::cout << "\nRandom X = " << random_x << std::endl;
    }

    return 0;
}
Nach dem Login kopieren

Wie es geht Funktioniert

In diesem Beispiel verwenden wir die Funktion time(NULL), um einen Startwert basierend auf der aktuellen Zeit zu generieren. Dadurch wird sichergestellt, dass der Startwert bei jeder Programmausführung unterschiedlich ist. Indem wir den Startwert mit srand() einmal außerhalb der Schleife setzen, garantieren wir, dass der Zufallszahlengenerator einen eindeutigen Zahlenstrom erzeugt.

Zufallszahleninitialisierung zurücksetzen

Die Funktion srand() setzt außerdem den Zufallszahlengenerator auf seinen Ausgangszustand zurück und verwirft alle vorherigen Startwerte. Das bedeutet, dass nachfolgende Aufrufe von rand() eine neue Zahlenfolge basierend auf dem neu gesetzten Startwert generieren.

Das obige ist der detaillierte Inhalt vonWie generiert man eindeutige Zufallszahlen in einer C-Schleife?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage