Zufallsreihenfolge (1bis48 generieren. Wie?
-
Hi,
ich brauche unbedingt nen kleines Prog, welches mir Die Zahlen 1 bis 48 zufällig hintereinanderreiht (anordnet). Hab zwar ne ganz grobe vorstellung wie ich das lösen würde. aber habe leider den syntax von c bzw. c++ nicht mehr soo gut drauf. Könnte hier vielleicht mal einer 10 min Zeit nehmen und mir hier nen kleinen Code schreiben, der das Problem löst?
Wär echt super.
Gruß,
Oli.
-
//Sample Code: ////////////////////////////////////////////////////////////////////// // // Compile options needed: /GX // // random_shuffle.cpp : Illustrates how to use the random_shuffle // function. // // Functions: // // random_shuffle : Shuffle the elements in a random order. ////////////////////////////////////////////////////////////////////// // disable warning C4786: symbol greater than 255 character, // okay to ignore #pragma warning(disable: 4786) #include <iostream> #include <algorithm> #include <functional> #include <vector> using namespace std ; void main() { const int VECTOR_SIZE = 8 ; // Define a template class vector of int typedef vector<int> IntVector ; //Define an iterator for template class vector of strings typedef IntVector::iterator IntVectorIt ; IntVector Numbers(VECTOR_SIZE) ; IntVectorIt start, end, it ; // Initialize vector Numbers Numbers[0] = 4 ; Numbers[1] = 10; Numbers[2] = 70 ; Numbers[3] = 30 ; Numbers[4] = 10; Numbers[5] = 69 ; Numbers[6] = 96 ; Numbers[7] = 100; start = Numbers.begin() ; // location of first // element of Numbers end = Numbers.end() ; // one past the location // last element of Numbers cout << "Before calling random_shuffle\n" << endl ; // print content of Numbers cout << "Numbers { " ; for(it = start; it != end; it++) cout << *it << " " ; cout << " }\n" << endl ; // shuffle the elements in a random order random_shuffle(start, end) ; cout << "After calling random_shuffle\n" << endl ; cout << "Numbers { " ; for(it = start; it != end; it++) cout << *it << " " ; cout << " }\n" << endl ; } /*Program Output is: Before calling random_shuffle Numbers { 4 10 70 30 10 69 96 100 } After calling random_shuffle Numbers { 10 30 4 70 96 100 69 10 }*/
Aus der Anleitung von Visual c++
da hätte das 5 Minuten suchen auch getan, tztztz
Gruß eXitus
*edit: zum 4-ten mal jetzt, habs einfach editiert, obwohl Jester schon geschrieben hat,... :edit*
-
OliverK schrieb:
Könnte hier vielleicht mal einer 10 min Zeit nehmen und mir hier nen kleinen Code schreiben, der das Problem löst?
Das können hier zwar die meisten, aber ich denke es wird keiner tun.
Wenn Du irgendwo hängst und nicht weiterkommst, dann poste Deinen aktuellen Stand unf frage gezielt nach. Dann kriegst Du auch Hilfe.Ich vermute Du willst nicht einfach nur Zufallszahlen von 1 bis 48, sondern Du willst eine zufällige Anordnung dieser Zahlen, also jede genau einmal.
Vielleicht dazu mal zwei kleine Tipps: leg ein Array/std::vector an mit den Zahlen von 1 bis 48 und benutze dann std::random_shuffle.Viel Erfolg!
Jester