primo, rand%99 te donnera rien de valable
rand renvoie entre 0 et RAND_MAX.
donc, si tu veux avoir un %, il faut faire
et ta solution 2 est effectivment meilleure, si tu ranges tes pourcentages limites dans un tableau...
1 2 3 4 5 6 7 8 9 10
| int Tableau[3] = {1, 3, 5} ;
int Limites[3] = {15,25, 100}; /* le dernier est 100 - limite supérieure */
int i ;
for ( i = 0 ; i < 3 ; i++ )
if ( res <= Limites[i] )
{
valeur = Tableau[i] ;
break ;
} |
[EDIT]
d'ailleurs, pour avoir ta répartition réelle qui soit 15%, 25% et 60%, tes limitees devraient être :
Limites[3] = {15, 40, 100};
[/EDIT]
Partager