random_shuffel() wie setzte ich den seed?
-
ahoi und guten tag..
random_shuffel() hat ja wohl immer den selben startwert.
wie kann ich den aber expliziet setzten??
vielen dank
-
beim visual studio läuft es so:
#include <iostream> #include <ctime> #include <algorithm> using namespace std; int main(){ int array[]={1,2,3,4,5,6}; for (int i=0 ; i<6 ; i++) cout<<array[i]; cout<<"\n"; //random long sek; time (&sek); srand (sek); random_shuffle(array, array+6); for (i=0 ; i<6 ; i++) cout<<array[i]; }
mit srand kann man den startwert zum beispiel dynamisch setzen.
wie es mit anderen compilern ist, weiß ich leider nicht, müsste hume sagen, oder gerard, davie .. oder sonstjemand standard-kennerIn, viel spaß;)
-
wieso sollte das kein standard sein? (abgesehen vom gültigkeitsbereich von i). ich würd aber
sek den typ time_t geben, der ist für zeiten eigentlich vorgesehen.edit: um verwirrungen vorzubeugen: srand wird nur einmal am anfang des programms aufgerufen,
danach nicht wieder.
-
Taurin schrieb:
wieso sollte das kein standard sein?
Weil der Standard nicht spezifiziert, ob random_shuffle rand() benutzt.