👋 Bonjour ! Je suis Alphonsio le robot. Posez moi une question, je vais tenter d'y répondre.

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

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.

More