Aléatoire uniforme en C

melreg Messages postés 41 Statut Membre -  
melreg Messages postés 41 Statut Membre -
Bonjour,

Est-ce que les lignes de code suivantes assignent un nombre aléatoire de manière uniforme sur {0,1,...,31} à la variable resultat?

resultat = ((double) rand())/RAND_MAX*31;
if(resultat-(int)resultat >= 0.5){
resultat+=1;
}
resultat=(int)resultat;

Merci pour cette précision...

1 réponse

melreg Messages postés 41 Statut Membre
 
Ou alors il faut écrire :

resultat=((double) rand())/(double)RAND_MAX*31; <--- MODIF
if(resultat-(int)resultat >= 0.5){
resultat+=1;
}
resultat=(int)resultat;
-1