Question #2775   Proposée par Answiki le 27/11/2021 à 8:25:00 UTC

Comment tirer un nombre aléatoire en C++ ?

Answer   Submitted by Answiki on 02/22/2022 at 07:19:24 PM UTC

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 :




6 events in history
Answer by Answiki on 02/22/2022 at 07:19:24 PM

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 :




Answer by Answiki on 02/22/2022 at 07:16:50 PM

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 :




Answer by Answiki on 11/27/2021 at 08:31:48 AM

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 :




Question by Answiki 11/27/2021 at 08:25:00 AM
Comment programmer le tirage d'un entier aléatoire en C++ ?
Question by Answiki 11/27/2021 at 08:25:00 AM
Comment tirer un nombre aléatoire en C ?
Question by Answiki 11/27/2021 at 08:25:00 AM
Comment tirer un nombre aléatoire en C++ ?
# ID Query URL Count

Icons proudly provided by Friconix.