Remise a zero de fonction

cs_galian Messages postés 2 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 16 août 2003 - 16 août 2003 à 12:13
ADPro22 Messages postés 126 Date d'inscription mercredi 18 juillet 2001 Statut Membre Dernière intervention 27 octobre 2004 - 16 août 2003 à 15:32
j'utilise une fonction de gestion aléatoire de chiffre type:

int fonction (int,int)

cette fonction renvoi une variable res;

dans main() j'utilise cette fonction a plusieur reprise mais celle ci me donne alors le même chiffre pour chaque parametre comment puis-je faire pour que ma fonction me donne un chiffre différent (donc aléatoire) a chaque fois que je l'appelle

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 août 2003 à 12:27
si tu utilises rand() tu dois initialiser avant avec srand(valeur);
BruNews, ciao...
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
16 août 2003 à 12:47
de même que si tu utilise random() initialise le générateur de nombres aléatoires par randomize().
a+
0
cs_galian Messages postés 2 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 16 août 2003
16 août 2003 à 14:09
voici mon code avec mes question merci de me donner votre avis:

#include <stdio.h>
#include <stdlib.h>
#include 
#include <time.h>

using namespace std;

int Aleatoire()
{
    
   
   srand((int) time(NULL)); 
   int i = (rand() % 6)*3; //  besoin d'aide pour que i ne soit pas égal a 0

   return i;
    
}

int main()
{
 char b;
 
     cout << " a :" << Aleatoire()<< endl; // ces deux variables prennent les
     cout << " b :" << Aleatoire()<< endl; // même valeur
     
    cin >> b ; //fonction d'attente pour éviter l'arret de l'affichage.
     
 return 0;   
}  

0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
16 août 2003 à 14:18
essai ça dans ton main()
int main()
{
char b;
randomize();
cout << " a :" << Aleatoire()<< endl; // ces deux variables prennent les
cout << " b :" << Aleatoire()<< endl; // même valeur

cin >> b ; //fonction d'attente pour éviter l'arret de l'affichage.

return 0;
}

a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
16 août 2003 à 14:50
j'avais pas fait gaffe mais si tu fait ce que je t'ai dit avec randomize() vire le srand(). De toute manière se n'est pas la qu'il faut le mettre, on initialise le générateur de nombres aléatoires (randomize(), srand()) qu'une fois et pas à chaque appel de ta fonction.
a+
0
ADPro22 Messages postés 126 Date d'inscription mercredi 18 juillet 2001 Statut Membre Dernière intervention 27 octobre 2004
16 août 2003 à 15:32
rand() % 6 est un chiffre entre 0 et 5 (reste de la division euclidienne de rand() par 6)

donc rand()%6+1 est entre 1 et 6 ...

Cordialement,

ADPro22
0
Rejoignez-nous