générer des variables aléatoires avec boost - C++ - Programmation
Marsh Posté le 01-04-2014 à 12:34:53
kochfet a écrit : bonjour, comment utiliser boost pour générer des variables aléatoires? |
Tu ne veux pas des variables aléatoires mais des valeurs aléatoires dans tes variables.
kochfet a écrit :
|
Ce code est correct, mais c'est juste l'initialisation du générateur de nombre aléatoires.
kochfet a écrit :
En fait, j'ai codé un programme ou je fait appel à la fonction rand() plusieurs fois et je veux qu'elle me donne des valeurs différentes. |
Bah, d'après ce que tu décris, j'imagine que tu réinitialises ton générateur avant chaque appel à srand dans un délai plus court que la précision de la fonction time() ... Du coup, tu initialises le générateur à chaque fois avec la même valeur.
kochfet a écrit :
Merci d'avance. |
Boost a plutôt tendance à être très lourd à la compilation qu'à l'exécution à ma connaissance. Ensuite, je te recommanderais plutôt de faire du code lisible, maintenable et qui fonctionne avant de te poser des questions sur les optimisations parce que, sans vouloir t'offenser, vu les questions que tu poses régulièrement ici et les bouts de code que tu montres, c'est loin d'être acquis.
Marsh Posté le 01-04-2014 à 13:28:19
Merci pour la réponse.
Citation : Bah, d'après ce que tu décris, j'imagine que tu réinitialises ton générateur avant chaque appel à srand dans un délai plus court que la précision de la fonction time() ... Du coup, tu initialises le générateur à chaque fois avec la même valeur. |
J'ai pas bien compris ça.
Marsh Posté le 01-04-2014 à 13:58:58
kochfet a écrit : Merci pour la réponse.
|
En gros, tu ne dois avoir qu'un seul appel à srand() dans ton application (sauf besoin spécifique). Ensuite, tu ne fais plus que des appels à rand().
Le comportement que tu décris ressemble fortement à celui qu'on obtiendrait en appelant srand() avant chaque appel à rand().
Marsh Posté le 01-04-2014 à 11:08:33
bonjour,
comment utiliser boost pour générer des variables aléatoires?
J'ai essayé sans boost avec
mais il me donne la plupart du temps le même entier.
En fait, j'ai codé un programme ou je fait appel à la fonction rand() plusieurs fois et je veux qu'elle me donne des valeurs différentes.
Autre question svp : est ce que l'utilisation de boost peut augmenter le temps d'exécution de mon programme car ce dernier est très important pour moi et il faut que j'essaye de l'optimiser le maximum.
Merci d'avance.
Message édité par kochfet le 01-04-2014 à 11:09:36