Utilisation de srand
Résolu
magy000
-
magy000 -
magy000 -
Bonjour,
je dois réaliser un programme qui doit chercher des valeurs aléatoires compris entre une borne superieure et une borne inferieure saisie par l'utilisateur. Je sais qu'il faut utiliser srand et rand,mais je ne sais pas comment faire pour que les valeurs aléatoires soient choisies dans l'intervalle saisie?
Merci d'avance!!
je dois réaliser un programme qui doit chercher des valeurs aléatoires compris entre une borne superieure et une borne inferieure saisie par l'utilisateur. Je sais qu'il faut utiliser srand et rand,mais je ne sais pas comment faire pour que les valeurs aléatoires soient choisies dans l'intervalle saisie?
Merci d'avance!!
A voir également:
- Utilisation de srand
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
- Family link temps d'utilisation ne fonctionne pas - Forum Contrôle parental
- Dossier en cours d'utilisation - Forum Windows 8 / 8.1
3 réponses
Bonjour,
Ce sujet a déjà été plusieurs fois abordé.
Un petit lien : http://fr.openclassrooms.com/informatique/cours/l-aleatoire-en-c-et-c-se-servir-de-rand-1
Cdlt,
Ce sujet a déjà été plusieurs fois abordé.
Un petit lien : http://fr.openclassrooms.com/informatique/cours/l-aleatoire-en-c-et-c-se-servir-de-rand-1
Cdlt,
ok,srand(time(NULL)) initialise rand mais a quel valeur?
j'ai fait:
int rand_a_b(int a, int b){
return rand()%(b-a) +a;
mais ça ne marche pas!
Faut t-il en plus déclarer a et b?
Et puis le rand je veux l'utiliser avant la fin du programme,si je met " return rand()%(b-a) +a;",ça va m'afficher la valeur de rand qu'a la fin du programme ou bien?
j'ai fait:
int rand_a_b(int a, int b){
return rand()%(b-a) +a;
mais ça ne marche pas!
Faut t-il en plus déclarer a et b?
Et puis le rand je veux l'utiliser avant la fin du programme,si je met " return rand()%(b-a) +a;",ça va m'afficher la valeur de rand qu'a la fin du programme ou bien?
srand(time(NULL))n'initialise pas
rand, il initialise la seed, entier qui sera utilisé dans l'algo qui va te donner un nombre pseudoaléatoire.
"mais ça ne marche pas!", comment ça, ça ne marche pas? Ça renvoie 0 tout le temps? Il faut que
bsoit supérieur à
aau fait, sinon ça ne marchera pas justement.
"Faut t-il en plus déclarer a et b?", non: ils sont déjà dans les paramètres.
Si tu met
return rand()%(b-a) +a;dans le main, il faudra en revanche les déclarer et les définir. Et le résultat ne s'affichera pas, car c'est le code de retour, qui n'est pas affiché, normalement (des IDE comme Code::Blocks l'affichent, eux).