logo

rand() en C

La fonction rand() du langage de programmation C est utilisée pour générer des nombres pseudo-aléatoires. Il est utilisé en C pour générer des nombres aléatoires compris entre 0 et RAND_MAX.

La fonction rand() fait partie de la bibliothèque standard C donc pour utiliser cette fonction, nous devons inclure la bibliothèque.



interface graphique C++

Syntaxe de rand()

int rand (void)>

Paramètres

  • Cette fonction ne prend aucun paramètre.

Valeur de retour

  • Cette fonction renvoie la valeur comprise entre 0 et RAND_MAX où RAND_MAX est la macro définie dans la bibliothèque.

Note: La fonction rand() utilise par défaut la valeur 1 comme graine pour générer des nombres aléatoires, ce qui conduit à la génération de la même séquence de nombres aléatoires. Pour éviter cela, nous pouvons utiliser srand() fonction pour spécifier une nouvelle graine pour la fonction rand().

Exemples de rand() en C

Exemple 1 : Illustration de la fonction rand()

C








// C program to illustrate the use of rand() function> #include> #include> > int> main()> {> >// Generate a random number using the rand() function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'The Random Value is: %d'>, value);> > >return> 0;> }>

>

>

Sortir

The Random Value is: 1804289383>

Complexité temporelle :O(1)
Complexité spatiale : O(1)

Exemple 2 : générer 10 nombres aléatoires

C




// C program to generate 10 random number using rand()> // function> #include> #include> > int> main()> {> >int> i = 0;> >// Loop through 10 times> >for> (; i <10; i++) {> >// Generate a random number using the rand()> >// function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

Sortir

1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>

Mais, si nous voulons générer des nombres aléatoires compris entre 0 et N, nous devons alors modifier en imprimant le modulo de (N+1) des nombres générés par la fonction rand().

Exemple : générer des nombres aléatoires inférieurs à N

C

tests de régression dans les tests de logiciels




// C program to generate random numbers smaller than a> // particular number n> #include> #include> int> main()> {> >// Set a constant 'N' to 1000> >int> N = 1000;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number between 0 and N using> >// the rand() function> >int> value =>rand>() % (N + 1);> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

Sortir

897 802 765 992 1 521 220 380 729 969>

De cette façon, nous pouvons facilement générer le nombre aléatoire de 0 à N.

De plus, si nous voulons un nombre aléatoire qui existera entre un borne inférieure et limite_upérieure , nous pouvons le faire en utilisant des mathématiques simples sur le nombre aléatoire généré par la fonction rand().

Exemple : générer des nombres aléatoires dans une plage

C




// C program to illustrate how to generate random number> // withing a range> #include> #include> int> main()> {> >// Set the upper bound for random numbers> >int> upper_bound = 1000;> >// Set the lower bound for random numbers> >int> lower_bound = 100;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number within the specified> >// bounds> >int> value =>rand>() % (upper_bound - lower_bound + 1)> >+ lower_bound;> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

Sortir

943 897 704 678 132 783 902 760 689 765>