Nombre aléatoire dans variable
jenaipasdideepourlenomdutilisate
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
jenaipasdideepourlenomdutilisate Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
jenaipasdideepourlenomdutilisate Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche le moyen de mettre un nombre aléatoire (disons entre 1 et 500) dans une variable qui s’appellera "a".
Est-ce possible (je pense que oui : je ne suis pas désespéré à se point) ?
merci de vos réponses
Je cherche le moyen de mettre un nombre aléatoire (disons entre 1 et 500) dans une variable qui s’appellera "a".
Est-ce possible (je pense que oui : je ne suis pas désespéré à se point) ?
merci de vos réponses
A voir également:
- Nombre aleatoire
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Gto nombre episode ✓ - Forum Cinéma / Télé
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
2 réponses
Salut,
La fonction
Une façon simple d'obtenir un nombre entre 1 et 500, par exemple, est de faire comme cela :
Avant de l'utiliser, il faut initialiser le générateur de nombres avec
Par exemple, le code suivant génère 10 nombres entre 1 et 500 :
Références :
http://www.cplusplus.com/reference/cstdlib/srand/
http://www.cplusplus.com/reference/cstdlib/rand/
http://www.cplusplus.com/reference/ctime/time/
Dal
La fonction
rand()existe en C. Elle génère des nombres pseudo-aléatoires sous forme d'entier entre 0 et RAND_MAX.
Une façon simple d'obtenir un nombre entre 1 et 500, par exemple, est de faire comme cela :
int nombre = rand() % 500 + 1;
Avant de l'utiliser, il faut initialiser le générateur de nombres avec
srand(), sinon, le générateur va toujours sortir la même séquence de nombres. Une façon de l'initialiser est de lui passer en paramètre le résultat de la fonction
time(NULL);qui renvoie un type entier représentant la date et l'heure actuelle à la seconde près.
Par exemple, le code suivant génère 10 nombres entre 1 et 500 :
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int nombre; /* initialisation */ srand(time(NULL)); /* générer 10 nombres compris entre 1 et 500 */ for (int i = 0; i < 10; i++) { nombre = rand() % 500 + 1; printf("%d ", nombre); } printf("\n"); return 0; }
Références :
http://www.cplusplus.com/reference/cstdlib/srand/
http://www.cplusplus.com/reference/cstdlib/rand/
http://www.cplusplus.com/reference/ctime/time/
Dal
Et il marche sans plafond (nombre max ou min ) ?
peut produire un nombre de à , qui, selon le standard du C doit valoir au moins . Tu peux afficher la valeur de (qui est une constante définie par une macro dans ) pour ton implémentation du C, qui sera certainement supérieure, en faisant :
les limites des types entiers sont accessibles par l'entête standard :
http://www.cplusplus.com/reference/climits/
Voici ce qu'il m'affiche:
je me disait que se serait peut-etre la boucle mal placé,mais non
Une solution ?
Le code fournit est du code valide en C99 (la révision du standard du C datant de 1999), qui permet la déclaration de variables dans la boucle for. Si ton compilateur est ancien, ne supporte pas C99, ou que tu ne veux pas faire du code C99 (c'est un peu dommage, mais tu as peut-être de bonnes raisons), tu peux écrire à la place de :
les deux lignes suivantes :
Sinon, je n'ai pas de "solution" autre tant que tu ne donnes pas un vrai message d'erreur.
Dal