So verwenden Sie die SRAND -Funktion in C ++

So verwenden Sie die SRAND -Funktion in C ++

In diesem Artikel werden wir diskutieren, wie wir die Funktion srand () in C ++ verwenden können, während wir Programme in Ubuntu 20 schreiben können.04. Die Funktion srand () ist der Saat. Beide Funktionen sind im STDLIB -Header definiert. Wenn wir die Funktion srand () verwenden, um den Saatgut in der Funktion rand () festzulegen, ist sie mit der Funktion rand () verknüpft. Die Funktion srand () nimmt den Wert des Samens in einem nicht signierten Ganzzahltyp ein. Der Saatgutwert ist der Startplatz für die Zufallszahlenerzeugung der Rand () -Funktion, beispielsweise Srand (5). Die Funktion srand () wird kein Wert zurückgegeben. Der Standard -Saatgutwert der SRAND -Funktion wird als „1“ festgelegt. Wenn wir also die Funktion srand () vor der Rand () -Funktion nicht aufrufen, ist es das gleiche wie das Schreiben von "Srand (1)".

Verständnis der Beziehung zwischen Rand () und Srand () Funktion:

Wenn wir die Funktion rand () in unserem Code verwenden, erhalten wir immer die gleiche Zufallszahl, wenn wir sie kompilieren. Schauen wir uns ein Beispiel an, in dem wir besser verstehen, wie die Rand -Funktion ohne Srand () funktioniert.

Verwenden Sie die Funktion rand () ohne die Funktion srand () in Ubuntu 20.04:

Öffnen Sie das Terminal und machen Sie a .CPP -Datei durch Schreiben und Ausführen des Befehls "Berührung" mit dem Dateinamen und der Erweiterung von .CPP. Suchen und öffnen Sie dann Ihre und öffnen Sie Ihre .CPP -Datei. Schreiben Sie nun einen einfachen Code zum Generieren von Zufallsnummern, ohne die Funktion srand () zu verwenden.

Die Datei sollte gespeichert und dann geschlossen werden. Öffnen Sie das Terminal erneut und kompilieren Sie die Datei mit diesem Befehl "G ++" zusammen mit Ihrem Dateinamen und Ihrer Erweiterung. Dadurch wird nach dem Kompilieren eine Ausgabe für Ihre Datei generiert, normalerweise mit der Erweiterung von “.aus."Führen Sie nun die Ausgabedatei aus, indem Sie diesen Befehl schreiben"./”Zusammen mit Ihrem Ausgabedateinamen

Wie Sie im obigen Beispiel sehen können, sind die ersten und zweiten Ausgänge gleich, da wir die Funktion srand () nicht verwendet haben. Selbst wenn wir den Vorgang mehrmals wiederholen, ist die Ausgabe gleich, da der Saatgutwert standardmäßig auf 1 festgelegt ist.

Wir werden uns ansehen, wie die Funktion rand () mit der Funktion srand () funktioniert.

Rand () Funktion mit der Verwendung der Funktion srand () in Ubuntu 20.04:

Öffnen Sie das Terminal und machen Sie a .CPP -Datei durch Schreiben und Ausführen des Befehls "Berührung" mit dem Dateinamen und der Erweiterung von .CPP. Suchen und öffnen Sie dann Ihre und öffnen Sie Ihre .CPP -Datei. Wir werden nun einen Code zum Generieren von Zufallszahlen schreiben und die Funktion srand () mit unterschiedlichen Saatgutwerten verwenden.

Die Datei sollte gespeichert und dann geschlossen werden. Öffnen Sie das Terminal erneut und kompilieren Sie die Datei mit diesem Befehl "G ++" zusammen mit Ihrem Dateinamen und Ihrer Erweiterung. Dadurch wird nach dem Kompilieren eine Ausgabe für Ihre Datei generiert, normalerweise mit der Erweiterung von “.aus."Führen Sie nun die Ausgabedatei aus, indem Sie diesen Befehl schreiben"./”Zusammen mit Ihrem Ausgabedateinamen.

Jetzt können wir sehen, dass die Verwendung der Funktion srand () mit unterschiedlichen Samenwerten eine andere Zufallszahl ergibt. Wenn wir also den Saatgutwert, der der Parameter der Srand () -Funktion ist, immer wieder ändern, unterscheiden sich die Zufallszahlen immer voneinander. Der Wert von Saatgut wird in der ersten Ausgabezeile als „1“ eingestellt, so Veränderung ereignete sich aufgrund der Differenz des Saatgutwerts.

Nachdem wir uns dieses Beispiel angesehen haben, können wir zu dem Schluss kommen, dass die Funktion rand () ohne die Funktion srand () nicht bis zum Standard des PRNG -Programms (Pseudo -Zufallszahlengenerator) erfolgt, das zufällige Zahlen gemäß der Seed -Value -Akkreditierung generiert. In der C ++ - Sprache. Dieses Programm umfasst die Funktionen Rand () und Srand (), um Zufallszahlen in C ++ - Programmierung zu generieren. Wir sollten also immer die Funktion srand () verwenden, während wir die Funktion rand () verwenden, um unterschiedliche Zufallszahlen zu erzeugen.

Die Srand () -Zahlen mit unterschiedlichen Saatgutwerten ändert immer wieder die generierten Zufallszahlen, wodurch die Rand () -Funktion effizienter wird. Aber wir müssen den Saatgutwert jedes Mal immer wieder ändern, da der Saatgutwert angegeben werden muss, bevor wir die Rand () -Funktion aufrufen müssen. Der beste Weg, dies weiterhin zu tun. Die Ausgabe der Zeit (0) ändert sich also immer weiter, und somit ändert sich auch die Ausgabe der Rand () -Funktion immer wieder jede Sekunde.

Verwenden Sie Srand () Funktion mit der Zeit (0) als Parameter:

Wie wir bereits erläutert haben, dass der Saatgutwert der Funktion als „1“ festgelegt wird. Diese Punkte sind für die Effizienz der Erzeugung von Zufallsfunktionen von entscheidender. Dieses Problem wird in der Time () -Funktion in der C ++ - Sprache gelöst, die die genaue Zeit in dem angegebenen Moment angibt, in dem Sie die Aufgabe in Ihrem Gerät ausführen, auch als Zeitstempel bezeichnet. Wenn wir also die Zeit (0) als Parameter der Funktion srand () hinzufügen, ist dies der Saatgutwert, es gibt die Gesamtzeit in Sekunden als Ganzzahl für die Funktion srand () und ändert sich bei jedem weiterhin Mal benutzen wir es. Die Funktion Time () ist im CTime -Header definiert, sodass wir dies in unserem Code hinzufügen müssen. Jetzt werden wir dies in unserem Code implementieren und versuchen, besser zu verstehen, wie die Funktion srand () mit der Funktion Time () als Parameter funktioniert.

Verwenden Sie Srand () Funktion mit der Zeitfunktion als Parameter in Ubuntu 20.04:

Öffnen Sie das Terminal und machen Sie a .CPP -Datei durch Schreiben und Ausführen des Befehls "Berührung" mit dem Dateinamen und der Erweiterung von .CPP. Suchen und öffnen Sie dann Ihre und öffnen Sie Ihre .CPP -Datei. Wir schreiben nun einen Code zum Generieren von Zufallszahlen und verwenden die Funktion Time (), um unterschiedliche Saatgutwerte für unterschiedliche zufällig generierte Zahlen bereitzustellen.

Die Datei sollte gespeichert und dann geschlossen werden. Öffnen Sie das Terminal erneut und kompilieren Sie die Datei mit diesem Befehl "G ++" zusammen mit Ihrem Dateinamen und Ihrer Erweiterung. Dadurch wird nach dem Kompilieren eine Ausgabe für Ihre Datei generiert, normalerweise mit der Erweiterung von “.aus."Führen Sie nun die Ausgabedatei aus, indem Sie diesen Befehl schreiben"./”Zusammen mit Ihrem Ausgabedateinamen

Wie wir sehen können, dass sich die Zufallszahl nach mehrmaliger Ausführung der Dateien bei jeder Ausführung ändert, sodass wir mit dieser Methode Effizienz erreicht haben, und wir werden jedes Mal, wenn wir die SRAND () -Funktion mit der Zeit (Zeit ausführen 0) als Parameter.

Abschluss:

In diesem Artikel haben wir die Beziehung zwischen der Funktion rand () und srand () und wie die Funktion srand () der Funktion rand () hilft. Wir haben alle Beispiele dieser Konzepte in Ubuntu implementiert und eine detaillierte schrittweise Ausarbeitung darüber gegeben, wie sie auf Ubuntu 20 durchgeführt werden können.04.