Problème sur les nombres aléatoires [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008
-
Messages postés
7
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008
-
Bonjour

Je cherche la fonction qui tire un nombre aléatoire. Je souhaite créer un entier compris entre 2 et 14, j'avais pensé tirer un random entre 0 et 1, le multiplier par 13 et ajouter 1, puis l'arrondir au supérieur.

Malheureusement je n'ai pas cette fonction.

Si vous avez une meilleure idée je suis preneur  ^^

Deuxieme question : quand on tire un random sur c++, ce random sera toujours identique à chaque fois qu'on lance le programme. Je me rappelle vaguement qu'une ligne au debut du code evite ceci. Si vous pouviez me la rappeler.

Voila merci à ceux qui pourront m'aider

Jackson

13 réponses

Messages postés
172
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
12 février 2009
2
PS: inclure
#include <time.h>

//Merci à tous de vous interesser à mon problème,Cordialement,
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 mai 2013
2
Salut,ceci devrai faire l'affaire

srand(GetTickCount());//Initialisation du générateur de chiffres aléatoires
rand()%13+2;
Messages postés
7
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008

merci, le nombre aléatoire fonctionne bien, cependant, la ligne :
srand(GetTickCount());
ne fonctionne pas. Message d'erreur : GetTickCount() undeclared

Je suppose que c'est cette ligne qui permettra de changer a chaque utilisation la valeur des "rand". Peut etre faut-il inclure une bibliotheque ? merci
Messages postés
338
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
9 juillet 2011
2
#include ctime ou time.h
Messages postés
7
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008

Merci mais ça ne fonctionne toujours pas...
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 mai 2013
2
pour GetTickCount c'est dans window.h, si je ne me trompe pas, ça retourne le nombre de mili secondes depuis le démarrage de wndows.
Sinon tu peu remplacer par "time(0)" en incluant time.h
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Initialise la machine aléatoire avec : Randomize() ;

Ensuite demande un nombre compris, par exemple entre 1 et 1024 et le stocker dans la variable 'a' : rand()%1024 ;

PS : je ne sais plus comment faire si on ne part pas de 1, et je ne suis pas sur qu'il y est une majuscule a Randomize().
De plus je ne sais pas si il faut que tu inclus une bibliothèque pour l'utiliser.

Voili Voilou,en esperant t'avoir  aider, bonne prog.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Randomize() n'existe pas en C/C++.

ciao...
BruNews, MVP VC++
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Bin si, c'est la fonction que j'utilise dans mes programmes en C++, dans un jeu ou on doit deviner un nombre aléatoire de l'ordi.
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 mai 2013
2
Randomize n'existe pas dans le c++ standar,c'est implenté par borland ça (j'ai utilisé borland), dans la lib standar c'est srand et rand.
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Ah ok, je savais pas, merci de la precision ^^
Messages postés
172
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
12 février 2009
2
Bonjour,   


#define MAX 10 //Tapez à la place 10 , le nombre maxi

#define MIN 1 //Tapez à la place 1, le nombre mini
srand(time(NULL));
VariableOuLeNombreSeraStocke=(rand()%(MAX-MIN+1))+MIN;

 Cordialement,
Messages postés
7
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008

ok merci beaucoup pour ton aide