Aléatoire uniforme en C

melreg Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
melreg Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
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 40 Date d'inscription   Statut Membre Dernière intervention  
 
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