Zufallsgenerator und "Vector-Container"



  • Hallo zusammen,

    ich brauche wieder mal eure Hilfe, bei der folgender Problemstellung und zwar:

    Ich habe ein Vector Container, der mit Aufzählungstypen "enum" aufgefühlt ist.
    Was ich brauche ist, ein Zufallsgenerator der nach dem Zufallsprinzip mir aus dem vorhandenen enum-Typen die in dem Container liegen, eine Möglichkeit auswählt und zurückliefert.

    Ich weiß dass es Funktionen gibt wie z.b. srand(), rand() + modulo mit denen man Zufallszahlen generieren kann. Doch ich kann irgendwie nicht draufkommen wie ich jetzt dass mit dem Vector machen soll.

    Ich danke schon im Voraus.


  • Mod

    Du nutzt die Zufallszahl als Index für den Container.



  • Dafür brauchst du keine Vektoren, da du jedes enum-Element über seinen internen Index direkt ansprechen kannst:

    enum Direction { 
    	north, 
    	northwest, 
    	west, 
    	southwest, 
    	south, 
    	southeast, 
    	east, 
    	northeast };
    
    Direction home;
    
    home = Direction(0);
    home = Direction(4);
    
    someFunction (Direction(randomNr))
    


  • Ja. Seeden und dann ganz einfach so

    vec[rand() % vec.size()]
    

    (angenommen, dein vector heißt vec )
    darauf zugreifen.



  • Danke ich werde es morgen versuchen. 👍


Anmelden zum Antworten