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

Wie generiert man eindeutige Zufallszahlen in einer C-Schleife?

Dec 06, 2024 pm 07:41 PM

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!

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

Hot-Tools-Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte Mar 03, 2025 pm 05:53 PM

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

GULC: C -Bibliothek von Grund auf neu gebaut GULC: C -Bibliothek von Grund auf neu gebaut Mar 03, 2025 pm 05:46 PM

GULC: C -Bibliothek von Grund auf neu gebaut

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Mar 03, 2025 pm 05:52 PM

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Mar 03, 2025 pm 05:53 PM

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Mar 12, 2025 pm 04:50 PM

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Mar 03, 2025 pm 05:51 PM

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe eindeutiger Gebrauch und Phrasenfreigabe Mar 03, 2025 pm 05:51 PM

eindeutiger Gebrauch und Phrasenfreigabe

Was ist das minimale gemeinsame Vielfache des maximalen gemeinsamen Divisors einer C -Sprachfunktion? Was ist das minimale gemeinsame Vielfache des maximalen gemeinsamen Divisors einer C -Sprachfunktion? Mar 03, 2025 pm 05:55 PM

Was ist das minimale gemeinsame Vielfache des maximalen gemeinsamen Divisors einer C -Sprachfunktion?

See all articles