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>