Bonjour à tous,
Je sollicite votre aide pour m'en sortir.
Je suis entrain de code un algorithme qui prend des nombres aléatoires et les mets dans un tableau à deux dimensions. Normalement ces nombres doivent être différents, or ce n'est pas le cas !
voici le code :
// pour chaque ressource, le nombre de taches pouvant être faites
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int bor_max_tache = nt; int bor_min_tache = 0; i=0; while (i<nr) { npr[i]=rand()%(bor_max_tache - bor_min_tache) + bor_min_tache; i++; }le nombre de tâches pour chaque ressource est stocké dans le tableau npr[maxT]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for(i=0; i<nr; i++) { cerr << " ressource " << i << " peut faire " << npr[i] << endl; }Le résultat :jusqu'ici est correct, maintenant je veux tirer aléatoirement entre deux bornes (0 et 20) des nombres aléatoires et les stocker dans un tableau à deux dimensions sans avoir des doublons!ressource 0 peut faire 11
ressource 1 peut faire 4
voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int mint=0; int maxt=nt; for(i=0; i<nr; i++) { for(j=0; j<npr[i]; j++) { pr[i][j] = mint + (rand () % (maxt-mint+1)); } }
Le résultat :Vous constatez que pour la ressource 0 il y a le numéro 8 qui se répète 3 fois or ce n'est pas le résultat souhaité !ressource 0 : 11 tasks
17 6 19 13 12 5 20 8 8 12 8
ressource 1 : 4 tasks
9 0 4 5
Je vous remercie de me corriger le deuxième code.
Bien Cordialement,
Partager