Bonjour,
Je sollicite votre aide pour améliorer mon code. Je vous explique.
J'ai génère une liste de périodes aléatoirement dans des groupes (classes) et je souhaiterai que toutes les classes soient couvertes par toutes les périodes. Supposant que j'ai 10 périodes et deux classes je dois avoir un résultat comme ceci (par exemple) :
Remarque : on peut trouver deux périodes qui se répètent dans deux classes différentes mais pas dans la même classe.Code:
1
2 classe 0 nbperiode 7 : 2 3 4 5 6 7 9 classe 1 nbperiode 5 : 0 1 4 6 8
Voici le code que j'ai fait mais le résultat trouvé n'est pas tout à fait correct.
Le résultat du code :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 for(int i=0 ; i<NombreClasses ; i++){ // nombre de classes y=0; for(int j=0 ; j<dm ; j++){ // nombre de periodes rando = unifRand(); if (rando<0.5) { Mat_ClasseP[i][y]=j; y++; if (Tab_NbrPer[i]==1000) Tab_NbrPer[i]=1; else Tab_NbrPer[i]=Tab_NbrPer[i]+1; } } // s'il n'y a aucune periode if (y==0) { Mat_ClasseP[i][0] = val_rand(0,dm); Tab_NbrPer[i]=1; } }
Vous remarquez très bien que les 10 périodes ne sont pas toutes couvertes.Code:
1
2 classe 0 nbperiode 6 : 0 2 4 7 8 9 classe 1 nbperiode 4 : 1 2 4 7
Merci pour vos réponses :)