rand
De cppreference.com.
< cpp
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