Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2007, à 02:26

Louisiane

[C++]nombre aléatoire

Salut,

j'ai écrit une fonction qui est censé me donner des nombres aléatoires mais lorsque je lance plusieurs fois le programme, j'obtiens toujours le même nombre 83.

Voici mon programme :

#include <iostream>

int random(int min, int max){
  return min +(rand() % (max-min));
}

int main(){
int tirage = random(0,100);
printf("%d\n",tirage);
return 0;
}

Qu'est-ce qui ne va pas ?

Merci

#2 Le 05/03/2007, à 03:42

ssdg

Re : [C++]nombre aléatoire

il y a une fonction qui permet d'initialiser le rand , (je ne sait plus laquelle, mais google peut t'aider) il faut l'initialiser avec un truc dans time.h.
réponse rapide certes, mais qui te donne de bonnes pistes. ca fait trop longtemps que j'ai pas touché à rand pour me souvenir de tout wink


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#3 Le 05/03/2007, à 11:12

Gari

Re : [C++]nombre aléatoire

il me semble que c'est
srand(time(NULL))
qui permet d'initialiser le générateur de nombres aléatoires. Cette fonction doit être appelée une seule fois, au début de ton programme par exemple. Ca donnera :

#include <iostream>
#include <time.h>

int random(int min, int max){
  return min +(rand() % (max-min));
}

int main(){
int tirage;
srand(time(NULL));
tirage = random(0,100);
printf("%d\n",tirage);
return 0;
}

Attention : je n'ai pas testé le code que je viens de mettre, c'est juste une idée de ce que ça peut donner. Mais je pense que ça marche quand même smile

Hors ligne

#4 Le 05/03/2007, à 13:08

obiwankennedy

Re : [C++]nombre aléatoire

il faut planté une graine.
(je dirais que tout grand chêne à d'abord était un gland..):lol:
ce site peut t'aider:
http://www.fredosaurus.com/notes-cpp/misc/random.html


Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam

Hors ligne