Comment tirer un nombre aléatoire en C++ ?
En C / C++, la fonction int rand() permet de tirer un entier pseudo-aléatoire entre 0 et RAND_MAX
inclus. RAND_MAX est une constante définie dans la bibliothèque stdlib.h
, sa valeur peut varier d'un compilateur à l'autre. L'exemple ci-dessous affiche un nombre pseudo-aléatoire :
printf ("%d", rand() );
L'exemple suivant génère trois nombres aléatoires :
#include <stdio.h> // Pour printf()
#include <stdlib.h> // Pour srand() et rand()
#include <time.h> // Pour time()
int main(void) {
// Définie la graine du générateur (une seule fois suffit)
// Cela évite de toujours tirer la même séquence
srand(time(NULL));
// Tire et affiche deux nombres pseudo-aléatoires
printf ("Premier nombre aléatoire: %d\n", rand());
printf ("Deuxième nombre aléatoire: %d\n", rand());
return 0;
}
Remarque : pour éviter que le générateur ne renvoie toujours les mêmes nombres, on initialise généralement la graine avec la fonction srand(). La graine est définie avec l'heure courante qui change en permanence, modifiant ainsi la séquence des tirages. Si la graine n'est pas définie, les numéros seront toujours les mêmes.
srand(time(NULL));
Questions relatives :
- En C, quelle est la valeur de RAND_MAX ?
- En C, comment éviter que les tirages aléatoires soient tous identiques ?
- Dans quelle bibliothèque se trouve la fonction rand() en C ?
En C / C++, la fonction int rand() permet de tirer un entier pseudo-aléatoire entre 0 et RAND_MAX
inclus. RAND_MAX est une constante définie dans la bibliothèque stdlib.h
, sa valeur peut varier d'un compilateur à l'autre. L'exemple ci-dessous affiche un nombre pseudo-aléatoire :
printf ("%d", rand() );
L'exemple suivant génère trois nombres aléatoires :
#include <stdio.h> // Pour printf()
#include <stdlib.h> // Pour srand() et rand()
#include <time.h> // Pour time()
int main(void) {
// Définie la graine du générateur (une seule fois suffit)
// Cela évite de toujours tirer la même séquence
srand(time(NULL));
// Tire et affiche deux nombres pseudo-aléatoires
printf ("Premier nombre aléatoire: %d\n", rand());
printf ("Deuxième nombre aléatoire: %d\n", rand());
return 0;
}
Remarque : pour éviter que le générateur ne renvoie toujours les mêmes nombres, on initialise généralement la graine avec la fonction srand(). La graine est définie avec l'heure courante qui change en permanence, modifiant ainsi la séquence des tirages. Si la graine n'est pas définie, les numéros seront toujours les mêmes.
srand(time(NULL));
Questions relatives :
- En C, quelle est la valeur de RAND_MAX ?
- En C, comment éviter que les tirages aléatoires soient tous identiques ?
- Dans quelle bibliothèque se trouve la fonction rand() en C ?
En C / C++, la fonction int rand() permet de tirer un entier pseudo-aléatoire entre 0 et RAND_MAX
inclus. RAND_MAX est ybe constante définie dans la bibliothèque stdlib.h
, sa valeur peut varier d'un compilateur à l'autre. L'exemple ci-dessous affiche un nombre pseudo-aléatoire :
printf ("%d", rand() );
L'exemple suivant génère trois nombres aléatoires :
#include <stdio.h> // Pour printf()
#include <stdlib.h> // Pour srand() et rand()
#include <time.h> // Pour time()
int main(void) {
// Définie la graine du générateur (une seule fois suffit)
// Cela évite de toujours tirer la même séquence
srand(time(NULL));
// Tire et affiche deux nombres pseudo-aléatoires
printf ("Premier nombre aléatoire: %d\n", rand());
printf ("Deuxième nombre aléatoire: %d\n", rand());
return 0;
}
Remarque : pour éviter que le générateur ne renvoie toujours les mêmes nombres, on initialise généralement la graine avec la fonction srand(). La graine est définie avec l'heure courante qui change en permanence, modifiant ainsi la séquence des tirages. Si la graine n'est pas définie, les numéros seront toujours les mêmes.
srand(time(NULL));
Questions relatives :
- En C, quelle est la valeur de RAND_MAX ?
- En C, comment éviter que les tirages aléatoires soient tous identiques ?
- Dans quelle bibliothèque se trouve la fonction rand() en C ?
En C / C++, la fonction int rand() permet de tirer un entier pseudo-aléatoire entre 0 et RAND_MAX inclus.
L'exemple ci-dessous affiche un nombre pseudo-aléatoire :
printf ("%d", rand() );
L'exemple suivant génère trois nombres aléatoires :
#include <stdio.h> /* printf, NULL */
#include <stdlib.h> /* srand, rand */
#include <time.h> /* time */
int main ()
{
printf ("Premier nombre : %d\n", rand()%100);
srand (time(NULL));
printf ("Deuxième nombre : %d\n", rand()%100);
srand (1);
printf ("Encore le premier nombre : %d\n", rand()%100);
return 0;
}
Notez l'utilisation de la fonction srand() qui initialise le générateur, ce qui évite d'obtenir les mêmes nombres à chaque exécution du programme.
Questions relatives :
- En C, quelle est la valeur de RAND_MAX ?
- En C, comment éviter que les tirages aléatoires soient tous identiques ?
- Dans quelle bibliothèque se trouve la fonction rand() en C ?
# | ID | Query | URL | Count |
---|