Question #1009   Proposée par Answiki le 05/11/2020 à 18:52:21 UTC

En C, comment tirer un nombre aléatoire dans un intervalle ?

Answer   Submitted by Answiki on 09/16/2022 at 08:16:37 PM UTC

En C, la fonction rand() permet de générer un nombre pseudo-aléatoire compris entre 0 et RAND_MAX. RAND_MAX est une macro définie dans stdlib.h. Pour générer un nombre dans un intervalle donné (entre min et max), on peut utiliser l'une des solutions suivantes :

Entier :

// Génère un entier pseudo-aléatoire compris entre min et max (inclus)
int x = min + rand() % (max + 1 - min);

Flottant :

// Génère un nombre réel pseudo-aléatoire dans compris entre min et max (inclus)
float x = min + (float)rand() / ((float)RAND_MAX/(max-min));

Lors de l'utilisation penser à initialiser la graine du générateur avec srand() pour ne pas générer les mêmes tirages à chaque exécution. Pour plus de détails, consulter cette question :

4 events in history
Answer by Answiki on 09/16/2022 at 08:16:37 PM

En C, la fonction rand() permet de générer un nombre pseudo-aléatoire compris entre 0 et RAND_MAX. RAND_MAX est une macro définie dans stdlib.h. Pour générer un nombre dans un intervalle donné (entre min et max), on peut utiliser l'une des solutions suivantes :

Entier :

// Génère un entier pseudo-aléatoire compris entre min et max (inclus)
int x = min + rand() % (max + 1 - min);

Flottant :

// Génère un nombre réel pseudo-aléatoire dans compris entre min et max (inclus)
float x = min + (float)rand() / ((float)RAND_MAX/(max-min));

Lors de l'utilisation penser à initialiser la graine du générateur avec srand() pour ne pas générer les mêmes tirages à chaque exécution. Pour plus de détails, consulter cette question :

Answer by Answiki on 11/05/2020 at 07:03:24 PM

En C, la fonction rand() permet de générer un nombre pseudo-aléatoire compris entre 0 et RAND_MAX. RAND_MAX est une macro définie dans stdlib.h. Pour générer un nombre dans un intervalle donné (entre min et max), on peut utiliser l'une des solutions suivantes :

Entier :

// Génère un entier pseudo-aléatoire compris entre min et max
int x = min + rand() % (max + 1 - min);

Flottant :

// Génère un nombre pseudo-aléatoire dans compris entre min et max
float x = min + (float)rand() / ((float)RAND_MAX/(max-min));

Lors de l'utilisation penser à initialiser la graine du générateur avec srand() pour ne pas générer les mêmes tirages à chaque exécution.

Answer by Answiki on 11/05/2020 at 06:57:56 PM

En C, la fonction rand() permet de générer un nombre pseudo-aléatoire compris entre 0 et RAND_MAX. RAND_MAX est une macro définie dans stdlib.h. Pour générer un nombre dans un intervalle donné (entre min et max), on peut utiliser l'une des solutions suivantes :


Entier :

// Génère un entier pseudo-aléatoire compris entre min et max
int x = min + rand() % (max + 1 - min);


Flottant :

// Génère un nombre pseudo-aléatoire dans compris entre min et max
float x = min + (float)rand() / ((float)RAND_MAX/(max-min));

Lors de l'utilisation penser à initialiser la graine du générateur avec srand() pour ne pas générer les mêmes tirages à chaque exécution.

Question by Answiki 11/05/2020 at 06:52:21 PM
En C, comment tirer un nombre aléatoire dans un intervalle ?
# ID Query URL Count

Icons proudly provided by Friconix.