Générer nombre pseudo-aléatoire C++
Résolu
snipex
-
yacine infor -
yacine infor -
Bonjour,
Je suis débutant en C++ et j'aimerais savoir comment générer UN SEUL nombre pseudo-aléatoire ENTRE 1 ET 5 (1;2;3;4;5).
J'ai déjà recherché sur de nombreux forums, je ne trouve pas la solution.
Je sais juste qu'il faut utiliser rand () et srand ().
Merci.
Je suis débutant en C++ et j'aimerais savoir comment générer UN SEUL nombre pseudo-aléatoire ENTRE 1 ET 5 (1;2;3;4;5).
J'ai déjà recherché sur de nombreux forums, je ne trouve pas la solution.
Je sais juste qu'il faut utiliser rand () et srand ().
Merci.
Configuration: Windows XP Dev C++ v.4.9.9.2
2 réponses
-
Merci d'avoir répondu aussi vite daronmaster mais le programme ne marche pas.
Je pene qu'il faut que le nombre pseudo-aléatoire sorte (cout <<).
Amilcalement, snipex-
C'est bon ne te fatigue pas j'ai trouvé mon bonheur :
#include <iostream>
#include <time.h>
#include <string>
#include <stdlib.h>
using namespace std;
int main ()
{
int n1; // où n1 est le nombre pseudo-aléatoire
srand(time(NULL)); // initialisation de rand
n1 = rand() % 7; //où 7 est le maximum (++) de la génération
//(ex : pour un chiffre entre 0 et 10, %11)
cout << n1 <<"\n"; //sortie de n1 suivi d'un retour à la ligne
// attend pour terminer le programme que l'utilisateur
// lise le contenu de la fenêtre puis appuie sur une touche
system("PAUSE");
return 0;
}
Voilà. A+
-
-
sur google : "man rand" et voilà le travail : http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/rand.3.html
ce qui revient à faire dans ton cas :
nb_alea = 1+(int) (5.0*rand()/(RAND_MAX+1.0));
où nb_alea est le nombre stockant la valeur aléatoire entre 1 et 5, de type int.
voilà