begin process at 2012 05 29 17:21:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Problème pour générer des nombres aléatoires


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème pour générer des nombres aléatoires

vendredi 20 avril 2007 à 20:19:15 | Problème pour générer des nombres aléatoires

Etoiline

Hello !
Voilou je suis débutante en c++. Je dois faire un jeu de yams mais j'ai un problème : pour le premier lancer de dé tout va bien mais pour le second il me génère exactement les même nmbres qu'au premier et idem pour le troisième. Je vous mets le début du programme




#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
using namespace std ;
int hasard(int min, int max);
int hasard(int min, int max){
return (int) (min + ((float) rand() / RAND_MAX * (max - min + 1)));
}

main ()
{ int a, b, c, d, e, i, n, p ;
int vect[5];
bool de1, de2, de3, de4, de5 ;
int min = 1;
int max = 6;
srand(time(NULL));

//premier lancer
a=hasard(min, max);
b=hasard(min, max);
c=hasard(min, max);
d=hasard(min, max);
e=hasard(min, max);
de1=false;
de2=false;
de3=false;
de4=false;
de5=false;
cout<<"dé1 :" <<a<<"    dé2 :" <<b<<"    dé3 :" <<c<<"    dé4 :" <<d<<"    dé5 :" <<e ;
cout<<"\n Quels dés voulez-vous garder ? Puis taper -1" ;
n=0;
while (n!=-1)
{ cin>>n;
if (n==1)
de1=true;
if (n==2)
de2=true;
if (n==3)
de3=true;
if (n==4)
de4=true;
if (n==5)
de5=true;}

//deuxième lancer
if (de1=false)
a=hasard(min, max);
if (de2=false)
b=hasard(min, max);
if (de3=false)
c=hasard(min, max);
if (de4=false)
d=hasard(min, max);
if (de5=false)
e=hasard(min, max);
cout<<"dé1 :" <<a<<"    dé2 :" <<b<<"    dé3 :" <<c<<"    dé4 :" <<d<<"    dé5 :" <<e ;
de1=false;
de2=false;
de3=false;
de4=false;
de5=false;
cout<<"\n Quels dés voulez-vous garder ? Puis taper -1" ;
n=0;
while (n!=-1)
{ cin>>n;
if (n==1)
de1=true;
if (n==2)
de2=true;
if (n==3)
de3=true;
if (n==4)
de4=true;
if (n==5)
de5=true;}

//troisième lancer
if (de1=false)
a=hasard(min, max);
if (de2=false)
b=hasard(min, max);
if (de3=false)
c=hasard(min, max);
if (de4=false)
d=hasard(min, max);
if (de5=false)
e=hasard(min, max);
cout<<"dé1 :" <<a<<"    dé2 :" <<b<<"    dé3 :" <<c<<"    dé4 :" <<d<<"    dé5 :" <<e ;}

J'utilise dev c++.
J'ai déjà essayé d'autres façon de générer des nombres aléatoires mais je reviens toujours au même problème et j'arrive pas à comprendre pourquoi.
Pouvez-vous m'aider svp ?
Merci
vendredi 20 avril 2007 à 23:48:24 | Re : Problème pour générer des nombres aléatoires

bipcpp

Peut-être :

//deuxième lancer
if (de1==false)
a=hasard(min, max);

ou

//deuxième lancer
if (!de1)
a=hasard(min, max);
samedi 21 avril 2007 à 00:55:04 | Re : Problème pour générer des nombres aléatoires

gamemonde

Membre Club
de1=false retourne toujours vrai
samedi 21 avril 2007 à 09:38:42 | Re : Problème pour générer des nombres aléatoires

Etoiline

merci bipcpp j'avais pas vu cette erreur je vais la corriger et je dis si ça marche.
gamemonde ce que je voulais dire c'est de1 prends la valeur false
samedi 21 avril 2007 à 09:40:48 | Re : Problème pour générer des nombres aléatoires

Etoiline

bipcpp j'ai corrigé mais j'ai toujours le même problème !
samedi 21 avril 2007 à 10:30:50 | Re : Problème pour générer des nombres aléatoires

SnOOpss

Normal place ca en debut de ton programme pour initialiser le generateur de nombres.

srand(GetTickCount());

samedi 21 avril 2007 à 10:35:44 | Re : Problème pour générer des nombres aléatoires

SnOOpss

Ha mince j'avais pas vu que tu avais mit srand(time(NULL));
Essaye avec GetTickCount() pour tester
samedi 21 avril 2007 à 10:52:58 | Re : Problème pour générer des nombres aléatoires

Etoiline

OK j'essaie
samedi 21 avril 2007 à 10:55:02 | Re : Problème pour générer des nombres aléatoires

Etoiline

Je désespère ça marche pas !!!!!!!!!!!!!!!
samedi 21 avril 2007 à 11:06:32 | Re : Problème pour générer des nombres aléatoires

SnOOpss

Remet ton code complet, moi j'ai testé une version simplifié sans count et cin et ca marche sans probleme avec les modifs de bipcpp

main () {
int a, b, c, d, e, i, n, p ;
int vect[5];
BOOL de1, de2, de3, de4, de5 ;
int min = 1;
int max = 6;
srand(time(NULL));

//premier lancer
a=hasard(min, max);
b=hasard(min, max);
c=hasard(min, max);
d=hasard(min, max);
e=hasard(min, max);
de1=FALSE;
de2=FALSE;
de3=FALSE;
de4=FALSE;
de5=FALSE;

if (de1==FALSE)
a=hasard(min, max);
if (de2==FALSE)
b=hasard(min, max);
if (de3==FALSE)
c=hasard(min, max);
if (de4==FALSE)
d=hasard(min, max);
if (de5==FALSE)
e=hasard(min, max);

1 2

Cette discussion est classée dans : int, max, false, hasard, min


Répondre à ce message

Sujets en rapport avec ce message

Problème avec les classes. [ par xelados ] J'ai commencer les classes et j'avoue que je les comprend plus ou moin je ne sais pas exactement c quoi mes erreurs .. mais j'en nais 16 ... Ce que j' Problème tri d'un vecteur [ par Etoiline ] Voilà j'ai un petit problème j'arrive pas à trier mon vecteur (selon un ordre croissant)Voilà un bout de mon algo donc si vous pouviez m'aider svp.... fonction min max [ par devamos ] bonjour,j'aimerais des corrections,si vous pouvez m'aider j'ai ecri ces instructions en devc++,,, c'est une fonction qui cherche le max et le min dans langage C : probleme syntax [ par Keymi ] Bonjour , tous d'abord le but de l'exercice est de faire une fonction permettant de determiner la valeur maximale et minimale d'un tableau de flottant [TABLEAUX 2D] comment passer un tableau 2D dans une fonction ? [ par Zenith ] bonjour, je suis novice en C, et je voudrais passer un tableau 2D dans une fonction.le but de mon programme est de générer 6 combinaisons de 6 entiers éliminer les doublons ! [ par jekburn ] Bonsoir, J'ai demandé de l'aide y'a 2 semaines, mais là je suis toujours bloqué ! Please help ! Je cherche à supprimer les doublons que me sort mon p Besoin d'une petite aide ... [ par celialita ] j'ai ce programme qui cherche le min d'un tableau de 10 entiers . on renvoie sa position , pas sa valeur. int MINTAB ( int T[10]) { int i, min=0; for Probleme puissance 4 en SDL, sur l'IA min/max [ par diablosephiroth ] Bonjours , je rencontre un problème pour mon programme sur la partie intelligence artificielle. En effet, au début j'étais partie sur une simple IA à [C] générer caractères aléatoires [ par Zestyr ] Bonjour, Je voudrais créer une fonction qui génère des caractères aléatoires avec un délai de 1ms max, si c'est possible moins ! Voila mon code [cod valeur max et min [ par devamos ] bonjour,J'aimerais bien s'il vous plait savoir comment rediger un prog qui donne la valeur maximal et minimal d'un tableau donnée.et merci.


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,724 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales