Voilà, alors je créai un programme qui donnait des nombres aléatoire suivant certaines condition, et pour ne pas avoir a refaire la condition a chaque fois, j´ai fait une fonction qui renvoie la valeur selon l´ancienne valeur :
int fonction(int r)
{
if (r==22)
{
r=100;
}
if (r==21)
{
r=75;
}
if (r==20)
{
r=50;
}
if (r==19)
{
r=25;
}
if (r==18)
{
r=10;
}
if (r==0 || r==1)
{
r=1;
}
if (r==2 || r==3)
{
r=2;
}
if (r==4 || r==5)
{
r=3;
}
if (r==6 || r==7)
{
r=4;
}
if (r==8 || r==9)
{
r=5;
}
if (r==10 || r==11)
{
r=6;
}
if (r==12 || r==13)
{
r=7;
}
if (r==14 || r==15)
{
r=8;
}
if (r==16 || r==17)
{
r=9;
}
cout << endl << a << " " << b << " " << r; //
je vérifie les valeurs de a , b et r a chaque fois que la boucle s´execute.
system("PAUSE");
return r;
}
fonction(a);
fonction(b);
fonction(c);
fonction(d);
fonction(e);
fonction(f);
et j´apelle la fonction de cette façon :
la valeur de a , b , c , d , e , f , ne change jamais, mais a la fin , j´affiche les valeurs, et elles sont toutes entre 0 et 22 (comme quand je les initialyse avant d´appeler la fonction) et la fonction n´a rien changer...
voila le programme en entier :
- include <iostream>
- include <stdlib.h>
- include <stdio.h>
- include <time.h>
using namespace std;
int a;
int b;
int c;
int d;
int e;
int f;
int z;
int fonction(int r)
int main( void )
{
int r;
int total;
srand(time(NULL));
a=rand()%23;
b=rand()%23;
c=rand()%23;
d=rand()%23;
e=rand()%23;
f=rand()%23;
total=rand()%951;
total=total+50;
fonction(a);
fonction(b);
fonction(c);
fonction(d);
fonction(e);
fonction(f);
cout << endl << endl << "les nombres sont :" << endl << a << endl << b << endl << c << endl << d << endl << e << endl << f << endl;
system("PAUSE");
return 0;
}
int fonction(int r)
{
if (r==22)
{
r=100;
}
if (r==21)
{
r=75;
}
if (r==20)
{
r=50;
}
if (r==19)
{
r=25;
}
if (r==18)
{
r=10;
}
if (r==0 || r==1)
{
r=1;
}
if (r==2 || r==3)
{
r=2;
}
if (r==4 || r==5)
{
r=3;
}
if (r==6 || r==7)
{
r=4;
}
if (r==8 || r==9)
{
r=5;
}
if (r==10 || r==11)
{
r=6;
}
if (r==12 || r==13)
{
r=7;
}
if (r==14 || r==15)
{
r=8;
}
if (r==16 || r==17)
{
r=9;
}
cout << endl << a << " " << b << " " << r;
system("PAUSE");
return r;
}
voila merci !
(pour savoir, c´est pour avoir des nombres aléatoirement pour les chiffres dans "des chiffres et des lettres" , donc je veux 2 fois plus de chance pour les nombres de 1 à 9 (d´où les 2 possibilité de valeur) , et une valeur entre 50 et 1000 pour le total)