Salut !
Je suis en train de faire l'exercice du javaquarium en C++ et à l'étape de la reproduction on doit générer des poissons (issus de la reproduction d'autres poissons donc).
Pour leur donner un nom j'ai décidé de faire une fonction qui m'en retournerai un généré aléatoirement. Voici la fonction :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <random> std::string nomAleatoire(unsigned taille) { static const char alphanum[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz"; std::random_device rd; std::uniform_int_distribution<unsigned> dis(0, 52); std::string nom; for (unsigned i = 0; i < taille; ++i) nom += alphanum[dis(rd)]; return nom; } |
Le problème c'est que cette fonction me renvoie toujours la même chaine : rHwsGzwL
… J'utilise d'ailleurs l'aléatoire ailleurs dans mon programme (choix du sexe du poisson par ex) et pareil ça me choisi toujours la même chose …
Je compile avec g++ 4.9.2 sous windows.
Quelqu'un a une idée de pourquoi ca marche pas ? Est ce que ça vient de mon code ?
Merci !
+0
-0