Random
Hello à tous,
Voilà , j'ai remarqué qu'en randomizant un nombre, c'est toujours les memes randomization si l'on quitte et relance l'application.
Eclaircicement d'esprits :
Je lance l'app, je clique sur un bouton, ça m'affiche par exemple 5, je reclique, ça m'affiche 32...
Je quitte et relance l'app, je clique sur un bouton, ça m'affiche encore 5, je reclique, ça m'affiche encore 32..
Mauvaise randomization ou bien il n'y a aucun échapatoire ?
Voilà , j'ai remarqué qu'en randomizant un nombre, c'est toujours les memes randomization si l'on quitte et relance l'application.
Eclaircicement d'esprits :
Je lance l'app, je clique sur un bouton, ça m'affiche par exemple 5, je reclique, ça m'affiche 32...
Je quitte et relance l'app, je clique sur un bouton, ça m'affiche encore 5, je reclique, ça m'affiche encore 32..
Mauvaise randomization ou bien il n'y a aucun échapatoire ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si tu veux changer la suite (pseudo) aléatoire générée par des appels successifs à rand(), il faut changer la "graine" qui initie la suite lors du lancement du programme.
Pour spécifier la graine, il faut utiliser srand(int seed)
Sauf que... il faut que la graine soit elle-même aléatoire, dans ton cas.
La technique usuelle est la suivante:
Précisons toutefois qu'il est très important de pouvoir générer deux fois une suite pseudo-aléatoire. Dans le cadre d'une simulation, il est vital d'avoir des suites reproductibles. Le comportement par défaut que tu as observé, qui est celui de n'être pas "complètement" aléatoire entre deux lancements, est donc un avantage plutôt qu'un inconvénient.
Voilà
Et pour ceux qui sont intéressés par une encapsulation C++ propre et pratique d'un bon générateur aléatoire des numerical recipes, j'en profite pour me faire un peu de pub:
http://ktd.club.fr/programmation/cpp-random.php
+
Chacha
PS: pis au fait, on dit *une* échapPatoire; pour fouf : nan, je suis pas prof de français, je suis juste un cauchemard ambulant ;-)
au cas où...