Bonjour à tous,
Supposant que j'ai le fichier d'entré suivant :
Je souhaiterai construire la matrice de présence du personnel de deux dimensions matrice[nbressource][nbperiode] en fonction des paramètres ci-dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 nbressource 10 nbperiode 10 nbclasse 2 classe 0 nbressource 5 : 0 1 2 3 4 // 5 ressources dans la classe 0 : NbrInfClasse[i] classe 1 nbressource 5 : 5 6 7 8 9 // 5 ressources dans la classe 1 classe 0 nbperiode 6 : 0 1 2 6 7 8 // 6 periodes dans la classe 0 : NombrPerdiodeClasse[i] classe 1 nbperiode 8 : 0 1 2 3 6 7 8 9 // 8 periodes dans la classe 0
Je vous explique. Supposant que dans la classe 0, j'ai 5 ressources [0 1 2 3 4] qui sont présentes dans les périodes [0 1 2 6 7 8]. Dans ce cas, je remplie les cases par 1 pour ces ressources correspondant à leurs périodes. Pareil pour la classe 1. Le reste des périodes sont à zéro.
Voici le code que j'ai fait :
Le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for(i=0; i<NombreClasses; ++i){ for(j=0; j<NbrInfClasse[i]; j++){ for(t=0;t<NombrPerdiodeClasse[i];t++){ Matrice[newvector[i][j]][periodvector[i][t]] = 1; // newvector[i][j] : l'identifiant de la ressource cerr<< " " << Matrice[newvector[i][j]][periodvector[i][t]] <<"\t" ; // periodvector[i][t] : l'identifiant de la période } cerr<<"\n"; } }
Comme vous le constatez, il me manque le reste de la matrice avec les valeurs de zéro ! dont je souhaite votre aide pour m'en sortir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Le résultat attendu :
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1
Partager