Variable aléatoire

Signaler
Messages postés
2
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
9 février 2006
-
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
-
je voudrais créé une fonction qui renvoi une valeur aléatoire avec un nombre en parametre
par exemple :

a = aleatoire( 5 ) //renvoi 24.7
a = aleatoire(8) //renvoi -12.2
a = aleatoire(3) //renvoi 54.7
a = aleatoire(5) //renvoi de nouveau 24.7

c a dire que si je passe toujours la meme valeur en parametre j'aurais toujours la meme valeur de retour

je ne c pas si c tres clair...
... si oui pouriez-vous m'aider ?

merci

6 réponses

Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

tu fais un rand et tu enregistre
par exemple :
int aleatoire(int n)
{

}
tu utilise rand pour le aleatoire et tu fais une stuct qui va enregister t donnes

struct test
tu recuper les valeur et tu les mets dans un tableau
dans ta stuct int 5 = 24,7 et donc quand tu cherche 5 tu oubtieb 24,7

that was easy :)
bonne chance :)
Reponse Accepter ?
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
3
En supposant que ta une fonction générer qui marche tu peux faires un truc dans ce style.

double generer(int,int);

class Generateur {
public:
Generateur(const int& minValue,const int& maxValue);
double gen(const int& i);
private:
int minValue;
int maxValue;
map dejaGeneres;
};

Generateur::Generateur(const int& minValue,const int& maxValue) {
this->minValue = minValue;
this->maxValue = maxValue;
}

double Generateur::gen(const int& i) {
double nb = generer(this->minValue, this->maxValue);
if(this->dejaGeneres.find(i) == this->dejaGeneres.end()){
this->dejaGeneres.insert(pair(i, nb));
return nb;
}
return this->dejaGeneres[i];
}

Bonne chance.

Bouba
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Moi j'aurai fait un tableau de int initialisé au démarage par des valeurs prises au hasard comme ça



int iTab[iTaille];

srand(GetTickCount());

for(int i=0; iif(!Meilleur("Joky")) return ERREUR;<
Messages postés
2
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
9 février 2006

en fait j'amerais eviter l'utilisation d'un tableau, je ne c pas si c posible.....
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
C'est tellement plus simple avec un tableau.

J'vois pas le soucis, sauf si c'est un exo pour l'école ;) et que la consigne interdit formellement l'utilisation de tableau :)

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
3
Mouai, avec un tableau c'est assez moyen aussi je trouve, si l'argument de la fonction à une grande étendu de valeur le tableau alloué prendra beaucoup de place en mémoire, pas génial. Je pensais que l'idée d'un map comme je l'ai montré dans l'exemple était pas trop mal. Pourquoi ça ne te convient pas ?

Bouba