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...
Configuration: Linux Suse
Firefox 3.0.1

1 réponse

  1. 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