Traductions de cette page?:

rand

Syntaxe :

    #include <cstdlib>
    int rand( void );

La fonction rand() retour un entier pseudo-aléatoire compris entre zéro et RAND_MAX. Par exemple :

     int i;
     srand( time(NULL) );
     for( i = 0; i < 10; i++ )
       printf( "Nombre aléatoire #%d: %d\n", i, rand() );

Note : Ne pas utiliser % (opérateur modulo) pour “limiter” les nombres aléatoires générés. Le caractère aléatoire de la fonction serait alors considérablement réduit. Pour générer des nombres aléatoires entre 0 et un autre nombre, il est préférable d'utiliser l'algorithme suivant qui garanti une distribution correcte des nombres aléatoire.

    // remarquez que l'utilisation des nombres flottants est importante,
    // l'utilisation des entier pourrait provoquer un dépassement de leur
    // dynamique en ajoutant 1.
    int randomNumber(int max)  //générateur de nombre aléatoire correct pour [0,max-1]
    {
       // échelle sur [0,1)
       const float echelle = rand()/float(RAND_MAX);
 
       // return range [0..max-1]
       return int(echelle*max);
    }

Sujet connexe : srand