Rechercher : dans
Par :

Générer nombre pseudo-aléatoire C++

Dernière réponse le 31 déc 2008 à 22:07:58 snipex, le 28 déc 2008 à 18:38:51 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Dev C++ v.4.9.9.2

Meilleures réponses pour « Générer nombre pseudo aléatoire C++ » dans :
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Représentation des nombres entiers et réels VoirReprésentation d'un nombre dans un ordinateur On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celui-ci...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...

1

daronmaster, le 28 déc 2008 à 19:18:07

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à tchû

Répondre à daronmaster

2

snipex, le 29 déc 2008 à 12:52:47

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

Répondre à snipex

3

 snipex, le 31 déc 2008 à 22:07:58

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+

Répondre à snipex