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 :
ressource 0 peut faire 11
ressource 1 peut faire 4
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!
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 :
ressource 0 : 11 tasks
17 6 19 13 12 5 20 8 8 12 8
ressource 1 : 4 tasks
9 0 4 5
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é !

Je vous remercie de me corriger le deuxième code.
Bien Cordialement,