Boost : probleme avec time et aleatoire .
Bonjour a tous ! je pense que ce probleme est assez commun neamoins meme après avoir cherché je n'ai pas trouvé le probleme .... Voici le code de mon programme qui est censé générer des nombres aléatoire de distribution uniforme et ce differents a chaque execution
Jai pourtant utilisé la fonction seed avec la fonction time(NULL) je ne comprends pas pourquoi ce la ne fonctionne pas ...
Si vous pouvez jeter un oeil ce serait sympa ?
merci d'avance !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| int main(){
// generateur de nombres pseudo aleatoire
boost::mt19937 rng ;
//boost::mt19937 engine(static_cast<long unsigned int>(clock()));
// choix de la distribution a utiliser
boost::uniform_real<> dist(0,1);
// association generateur et distribution
boost::variate_generator<boost::mt19937, boost::uniform_real<> > binded(rng, dist);
for (int i=0 ; i<10 ; i++){
std::cout << binded();
std::cout<< '\n' ;
usleep(10000);
rng.seed ((unsigned int)(time(NULL))) ;
/*std::cout<< time(NULL) ;*/
std::cout << std::endl;
}
return 0 ;
} |