In der Programmiersprache C++ gibt es viele verschiedene Bibliotheken und Funktionen, mit denen Sie viele verschiedene Operationen ausführen können. Ein solches nützliches Werkzeug ist die "Random" -Bibliothek, die die Möglichkeit bietet, mit der Generierung von Zufallszahlen zu arbeiten.
Um die Funktionalität der "Random" -Bibliothek zu nutzen, müssen Sie die entsprechenden Header-Dateien zu Beginn des Programms anschließen. Dazu können Sie die #include-Direktive wie folgt verwenden:
Nachdem Sie die erforderliche Headerdatei angeschlossen haben, können Sie mit der Generierung von Zufallszahlen arbeiten. Die Random-Bibliothek bietet verschiedene Klassen und Funktionen zum Arbeiten mit Zufallszahlen. Sie können beispielsweise die Klasse std::random_device verwenden, um eine zufällige Folge von Zahlen aus Hardwarequellen abzurufen.
Darüber hinaus bietet die "Random" -Bibliothek die Möglichkeit, mit verschiedenen Zufallszahlenverteilungen wie gleichmäßiger Verteilung, Normalverteilung und anderen zu arbeiten. Sie können die Klassen std::uniform_int_distribution, std::uniform_real_distribution und andere verwenden, um mit diesen Zuordnungen zu arbeiten.
Wie man random in C++ verbindet
In der C++ -Standardbibliothek random bietet die Möglichkeit, mit Pseudozufallszahlengeneratoren zu arbeiten. So verwenden Sie Funktionen und Klassen aus der Bibliothek random Sie müssen die entsprechende Headerdatei anfügen.
Für die Verbindung random verwenden Sie in C++ die folgende Präprozessordirektive:
Nachdem Sie die Header-Datei eingebunden haben, können Sie Instanzen von Pseudozufallszahlengeneratorklassen erstellen und sie zum Generieren zufälliger Werte verwenden.
#include #include int main() dist(1, 100);for(int i = 0; i < 10; i++) return 0;>
In diesem Beispiel werden die std-Klassen verwendet::random_device, um ein zufälliges Korn zu generieren, std::mt19937, um einen Pseudozufallszahlengenerator mit einem Mersenn-Twist zu erstellen, und std::uniform_int_distribution, um zufällige ganze Zahlen in einem bestimmten Bereich zu generieren.
Verbinden der Bibliothek random ermöglicht die Erzeugung von Zufallswerten in verschiedenen Formaten und Bereichen, was sie für die Entwicklung von Spielen, Simulationen und anderen Anwendungen, die Zufallszahlen erfordern, nützlich macht.
Generieren von Zufallszahlen in C++ mit der Random-Bibliothek
Um mit der Random-Bibliothek in C++ zu beginnen, müssen Sie die entsprechende Headerdatei einschließen:
#include
Als nächstes können Sie einen Zufallszahlengenerator mit der Klasse std::random_device erstellen:
std::random_device rd;std::mt19937 gen(rd());
Hier wird der Mersenne Twister-Generator verwendet, der einer der häufigsten Zufallszahlengeneratoren ist. Es wird mit einer Zufallszahl von std::random_device initialisiert.
Um Zufallszahlen mit einer bestimmten Verteilung zu erzeugen, können Sie verschiedene Klassen wie std verwenden::uniform_int_distribution für ganze Zahlen oder std::uniform_real_distribution für reelle Zahlen. Um beispielsweise eine Zufallszahl zwischen 1 und 6 zu generieren, können Sie den folgenden Code verwenden:
std::uniform_int_distribution distribution(1, 6);int random_number = distribution(gen);
Hier wird ein Distributionsobjekt erstellt, das gleichmäßig verteilte ganze Zahlen zwischen 1 und 6 erzeugt. Dann wird der Operator() aufgerufen, der eine Zufallszahl mit dem Gen-Generator zurückgibt.
Sie können auch eigene Zuordnungen erstellen, indem Sie von der std::distribution-Klasse erben. Um beispielsweise eine Zufallszahl aus einer Normalverteilung mit einer angegebenen durchschnittlichen und Standardabweichung zu generieren, können Sie den folgenden Code verwenden:
class NormalDistribution template double operator()(Engine& eng) const dist(mean_, stddev_);return dist(eng);>private:double mean_;double stddev_;>;std::mt19937 gen(rd());NormalDistribution distribution(0.0, 1.0);double random_number = distribution(gen);
Hier wird eine eigene NormalDistribution-Klasse erstellt, die von std::distribution erbt. Der Operator() dieser Klasse verwendet die Standardnormalverteilung std::normal_distribution, um eine Zufallszahl mit einer gegebenen durchschnittlichen und Standardabweichung zu generieren.
Mit der Random-Bibliothek in C++ ist es daher einfach, Zufallszahlen mit unterschiedlichen Verteilungen und Parametern zu generieren.
Importieren der Random-Bibliothek in C++
Um die Zufallszahlengenerierungsfunktionen in C++ zu verwenden, müssen Sie die Bibliothek importieren random. Dazu können Sie die #include-Direktive verwenden.
Nach dem Verbinden der Bibliothek random. Sie können die verschiedenen Funktionen und Klassen verwenden, die von dieser Bibliothek bereitgestellt werden, um Zufallszahlen zu generieren.
Zum Beispiel können Sie die Klasse std::random_device verwenden, um eine Zufallszahl mithilfe von Hardware-Zufallsquellen zu erhalten. Anwendungsbeispiel:
#include #include int main() distribution(1, 6);int dice_roll = distribution(rd);std::cout
Im dargestellten Beispiel verwenden wir die Funktion std::uniform_int_distribution, um eine Zufallszahl im Bereich von 1 bis 6 zu generieren. Die Funktion rd() wird als Argument für die Funktion distribution() aufgerufen, um eine Zufallszahl zu erhalten.
Jetzt sind Sie mit der grundlegenden Einführung in das Importieren einer Bibliothek vertraut random und Erzeugen von Zufallszahlen in C++. Verwenden Sie diese Informationen, um Zufallszahlen in Ihren C++ - Programmen zu erstellen.
Erstellen eines Zufallszahlengenerators in C++
Sie können die Random-Bibliothek verwenden, um einen Zufallszahlengenerator in C++ zu erstellen. Es bietet eine breite Palette von Funktionen und Klassen für die Arbeit mit Zufallszahlen.
Der erste Schritt besteht darin, die random-Bibliothek mit der #include-Direktive zu verbinden.
Als nächstes können Sie eine Instanz des Zufallszahlengenerators erstellen, indem Sie eine der verfügbaren Verteilungen auswählen. Sie können beispielsweise eine gleichmäßige Verteilung mithilfe der uniform_int_distribution-Klasse verwenden, um zufällige ganze Zahlen zu generieren, oder Sie können die uniform_real_distribution-Klasse verwenden, um Gleitkomma-Zufallszahlen zu generieren.
Beispielcode zum Erstellen eines Zufallszahlengenerators unter Verwendung einer gleichmäßigen Verteilung:
#include int main() distribution(1, 100); // равномерное распределение от 1 до 100int random_number = distribution(rng); // генерация случайного числаreturn 0;>
In diesem Beispiel wird ein rng-Zufallszahlengenerator basierend auf der rd-Zufallszahlenquelle instanziiert. Anschließend wird ein Objekt der uniform_int_distribution-Klasse mit dem angegebenen Wertebereich erstellt. Durch den Aufruf der distribution(rng) -Methode wird eine Zufallszahl im angegebenen Bereich generiert.
Mit der Random-Bibliothek und den entsprechenden Klassen und Funktionen ist es daher einfach, einen Zufallszahlengenerator in C++ zu erstellen und ihn in Ihren Programmen zu verwenden.
Festlegen des Bereichs zum Generieren von Zufallszahlen in C++
Die Random-Bibliothek in C++ bietet ein leistungsfähiges Werkzeug zum Generieren von Zufallszahlen. Um jedoch eine Zufallszahl in einem bestimmten Bereich zu erhalten, muss eine Logik hinzugefügt werden.
Um einen Bereich von Zufallszahlen in C++ festzulegen, können Sie den folgenden Ansatz verwenden:
-
Importieren Sie die erforderlichen Header-Dateien. Beginnen Sie mit dem Importieren einer Header - Datei , die die notwendigen Werkzeuge zum Generieren von Zufallszahlen enthält.
#include
std::mt19937 generator(std::time(0));
int lower_bound = 1;int upper_bound = 100;
std::uniform_int_distribution distribution(lower_bound, upper_bound);
int random_number = distribution(generator);
Jetzt können Sie eine Variable verwenden random_number, um eine Zufallszahl in einem bestimmten Bereich zu erhalten.
Der folgende Code generiert beispielsweise eine Zufallszahl zwischen 1 und 100 und zeigt sie auf dem Bildschirm an:
#include #include #include int main() distribution(lower_bound, upper_bound);int random_number = distribution(generator);std::cout
Fließkomma-Zufallszahlen in C++ generieren
Sie können die Random-Bibliothek verwenden, um Gleitkommazahlen in C++ zu generieren. Diese Bibliothek stellt eine Reihe von Funktionen und Klassen für die Arbeit mit Zufallszahlen bereit.
Um mit der Random-Bibliothek zu beginnen, müssen Sie die entsprechende Headerdatei anfügen:
#include
Sie können dann ein Objekt der Klasse std erstellen::random_device , das verwendet wird, um einen zufälligen Anfangswert zu erhalten:
std::random_device rd;
Als nächstes müssen Sie ein Objekt der Klasse std::mt19937 mit dem vom Objekt std::random_device abgeleiteten Wert erstellen. Dieses Objekt wird die Quelle von Zufallszahlen sein:
std::mt19937 gen(rd());
Danach können Sie ein Objekt der Klasse std::uniform_real_distribution erstellen und den Wertebereich angeben, aus dem Zufallszahlen generiert werden sollen:
std::uniform_real_distribution dis(min_value, max_value);
Um eine Zufallszahl zu generieren, können Sie schließlich die operator() -Funktion eines Objekts der Klasse std::uniform_real_distribution aufrufen, indem Sie ihm ein Objekt der Klasse std::mt19937 übergeben :
double random_number = dis(gen);
Die Variable random_number speichert nun eine Zufallszahl aus dem angegebenen Bereich.
Durch die Verwendung der Random-Bibliothek in C++ ist es daher einfach und bequem, Gleitkomma-Zufallszahlen zu generieren.
Generieren von zufälligen Booleschen Werten in C++
In der Programmiersprache C++ können Sie die Random-Bibliothek verwenden, um zufällige Boolesche Werte zu generieren. Diese Bibliothek ermöglicht die Erzeugung von Zufallszahlen verschiedener Typen, einschließlich Boolescher Werte.
Um mit der Random-Bibliothek zu beginnen, müssen Sie die entsprechende Headerdatei anfügen:
Sie können dann ein Zufallszahlengeneratorobjekt erstellen:
std::random_device rd; std::mt19937 gen(rd());
Sie können die Zuordnungsklasse std::bernoulli_distribution verwenden, um zufällige boolesche Werte zu generieren. Mit dieser Klasse können Sie die Wahrscheinlichkeit für die Generierung von true oder false festlegen. Zum Beispiel, damit die Wahrscheinlichkeit, dass true generiert wird, 0 ist.5, können Sie ein Verteilungsobjekt wie folgt erstellen:
Um einen zufälligen Booleschen Wert zu generieren, rufen Sie die operator() -Methode des Zuordnungsobjekts auf:
bool result = dist(gen);
Die result-Variable enthält den generierten zufälligen Booleschen Wert.
Beispiel für vollständigen Code zum Generieren eines zufälligen Booleschen Werts:
Zufällige Zeichen in C++ generieren
Die Erzeugung zufälliger Zeichen kann in vielen Anwendungen nützlich sein. Zum Beispiel beim Erstellen zufälliger Passwörter, beim Generieren zufälliger Zeichenfolgen oder beim Verschlüsseln von Daten. In der Programmiersprache C++ wird die Random-Bibliothek verwendet, um zufällige Zeichen zu generieren.
Zuerst müssen Sie die Headerdatei einschließen und den std-Namespace verwenden :
#include using namespace std;
Sie können die random_device-Klasse aus der Random-Bibliothek verwenden, um zufällige Zeichen zu generieren:
// Создание объекта random_devicerandom_device rd;// Создание объекта mt19937, использующего seed из random_devicemt19937 gen(rd());// Создание генератора случайных чисел в заданном диапазоне символовuniform_int_distribution dis('a', 'z');// Генерация случайного символаchar randomChar = dis(gen);
Im obigen Code wird random_device verwendet, um eine zufällige seed abzurufen, die dann an ein mt19937-Objekt übergeben wird. Dann wird ein uniform_int_distribution-Objekt erstellt, das zwei Zeichenwerte akzeptiert - Minimal und maximal, und es wird ein zufälliges Zeichen in diesem Bereich generiert.
Beachten Sie, dass die generierten Zeichen Codes im Bereich von 'a' bis 'z' haben, was den Buchstaben des englischen Alphabets in Kleinbuchstaben entspricht. Wenn Sie Zeichen aus einem anderen Bereich benötigen, müssen Sie die Argumente im Konstruktor uniform_int_distribution ändern.
Als Ergebnis der Codeausführung enthält die Variable randomChar ein zufälliges Zeichen.
Generieren von zufälligen Strings in C++
Einführung:
Das Generieren zufälliger Zeichenfolgen in C++ kann für eine Vielzahl von Aufgaben nützlich sein, von der Erstellung zufälliger Passwörter bis zur Generierung von Testdaten. In diesem Abschnitt werden wir uns mit der Verwendung der Bibliothek befassen random um zufällige Zeichenfolgen in C++ zu generieren.
Schritt 1: Aktivieren der Bibliothek:
Zuallererst müssen wir die Bibliothek einschließen random in unser Programm. Dazu fügen wir vor der Verwendung der Bibliothek die folgende Direktive hinzu:
Schritt 2: Erstellen eines Zufallszahlengenerators:
Bevor wir eine zufällige Zeichenfolge generieren, müssen wir einen Zufallszahlengenerator mit einer Klasse erstellen default_random_engine. Hier ist ein Beispielcode:
Schritt 3: Bestimmen Sie die Zeichen, aus denen die Zeichenfolge bestehen soll:
Als nächstes müssen wir bestimmen, aus welchen Zeichen eine zufällige Zeichenfolge bestehen wird. Zum Beispiel können wir Zeichen von 'a' bis 'z' und 'A' bis 'Z' verwenden. Dazu können wir eine Zeichenfolge erstellen, die alle erforderlichen Zeichen enthält:
std::string characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
Schritt 4: Generieren einer zufälligen Zeichenfolge:
Nachdem wir nun einen Zufallszahlengenerator erstellt und die Zeichen definiert haben, aus denen die Zeichenfolge bestehen wird, können wir mit der Erzeugung selbst beginnen. Hier ist ein Beispielcode, der eine zufällige Zeichenfolge mit einer Länge von 10 Zeichen generiert:
std::string random_string(int length) < std::uniform_int_distributiondistribution(0, characters.size() - 1); std::string result; for (int i = 0; i < length; ++i) < result += characters[distribution(generator)]; >return result; >
In diesem Beispiel verwenden wir eine Klasse uniform_int_distribution um einen zufälligen Index aus dem Bereich von 0 bis zur Größe einer Zeichenkette zu generieren. Dann fügen wir dem resultierenden String ein entsprechendes Zeichen hinzu und wiederholen diesen Vorgang, bis wir die gewünschte Länge erreicht haben.
Schlußfolgerung:
Jetzt haben Sie alle notwendigen Schritte, um zufällige Zeichenfolgen in C++ zu generieren. Denken Sie daran, den Zufallszahlengenerator einzurichten und die Zeichen zu definieren, aus denen Ihre Zeichenfolge bestehen wird.
Generieren einer zufälligen Reihenfolge von Elementen in C++
Um die std-Funktion zu verwenden::random_shuffle muss die Header-Datei anfügen . Sie können diese Funktion dann aufrufen, indem Sie eine Reihe von Elementen übergeben, die Sie neu anordnen möchten. Wenn wir beispielsweise einen std::vector numbers Vektor haben, kann die Funktion wie folgt aufgerufen werden:
#include #include #include #include int main() numbers = ;// Инициализация генератора случайных чиселstd::srand(unsigned(std::time(0)));// Перемешивание элементов вектораstd::random_shuffle(numbers.begin(), numbers.end());for (const auto& number : numbers) return 0;>
Beachten Sie, dass das Programm mit der Funktion std::time initialisiert wird, damit der Zufallszahlengenerator ordnungsgemäß funktioniert. Dies ermöglicht es, jedes Mal eine neue zufällige Sequenz zu erhalten.
Beispiel für die Verwendung der Random-Bibliothek in C++
Die Random-Bibliothek in C++ bietet die Möglichkeit, Zufallszahlen in einem bestimmten Bereich zu generieren. Um diese Bibliothek in einem Programm zu verwenden, müssen Sie eine Headerdatei anhängen.
Beispiel für die Verwendung der Random-Bibliothek:
- Erstellen Sie ein Objekt vom Typ std::random_device, um den zufälligen Anfangswert des Zufallszahlengenerators zu erhalten.
- Erstellen Sie ein Objekt vom Typ std::mt19937 mit dem resultierenden zufälligen Anfangswert.
- Verwenden Sie ein Objekt vom Typ std::uniform_int_distribution, um Zufallszahlen in einem bestimmten Bereich zu generieren.
- Rufen Sie die operator() -Methode des std-Objekts auf::uniform_int_distribution , um eine Zufallszahl aus einem bestimmten Bereich zu erhalten.
#include #include int main() dis(1, 100);for (int i = 0; i < 10; i++) return 0;>
Daher bietet die Random-Bibliothek in C++ eine einfache und bequeme Möglichkeit, Zufallszahlen in einem bestimmten Bereich zu generieren, was bei verschiedenen Programmaufgaben nützlich sein kann.