Remplir Matrice deux dimensions
Bonjour à tous,
Supposant que j'ai le fichier d'entré suivant :
Code:
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 souhaiterai construire la matrice de présence du personnel de deux dimensions matrice[nbressource][nbperiode] en fonction des paramètres ci-dessus.
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 :
Code:
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";
}
} |
Le résultat :
Code:
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 |
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.
Le résultat attendu :
Code:
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 |
Merci d'avance.