2017-02-07 30 views
0

Sagen wir, ich wollte die Benutzereingabe randomisiert werden. Wie wenn der Benutzer "1234567890"Wie man eine Reihe von Zahlen randomisiert

eingab Der Ausgang wäre wie "5684319027" Oder eine beliebige Zahl, wie die Zahlen randomisiert wurden.

Also wie würde ich eine Benutzereingabe randomisieren?

+3

Verwenden [ 'std :: shuffle'] (http://www.cplusplus.com/reference/algorithm/shuffle/) – qxz

+0

@qxz Ich bin ein bisschen ein Noob Wo würde ich es in den Code einfügen? Am Anfang, vor der Eingabe oder nach? – Akuhyo

+0

Wenn Sie die Eingabe als Zeichenfolge erhalten, können Sie dann 'std :: shuffle' verwenden, wodurch die Zeichen neu angeordnet werden. Dann würden Sie die Zeichenfolge für alles verwenden, wofür Sie es brauchen. Ich werde eine Antwort geben – qxz

Antwort

0

Sie können std::shuffle verwenden, um die Reihenfolge der Elemente von so ziemlich jeder geordneten Struktur zu randomisieren. Sie können dies auf einem std::string verwenden, der die einzelnen Zeichen neu anordnen würde. Hier ist ein Beispiel für die Nutzung:

// at the top of your file 
#include <algorithm> 

// in your main code 
std::string str; // define a string variable 
std::cin >> str; // get user input into the string 

// shuffle the string with a default random engine 
std::shuffle(str.begin(), str.end(), std::default_random_engine(std::random_device{}())); 

// use the now-shuffled string... 
Verwandte Themen