Bonjour,

Je sollicite votre aide pour me coder cet exercice en c++ svp.

Supposant que je possède 4 groupes, 15 postes et 10 périodes.

Je veux affecter ces 15 postes dans les 4 groupes disponibles de telle sorte chaque groupe doit avoir au minimum un seul poste.

Exp :

Code:
nbpostes 15
nbperiode 10
nbgroupe 4
groupe 0 nbpostes  6 : 0 1 2 3 4 9
groupe 1 nbpostes 4 : 5 6 7 8
groupe 2 nbpostes 2 : 10 12
groupe 3 nbpostes 3 : 11 13 14
Même principe pour les périodes sauf que cette fois ci chaque groupe peut contenir une seule période voir plus jusqu'à 10.

Exp :

Code:
groupe 0 nbperiode 6 : 0 1 2 6 7 8
groupe 1 nbperiode 3 : 0 1 2
groupe 2 nbperiode 4 : 5 2 7 8
groupe 3 nbperiode 7 : 1 4 7 8 9 5 3
Mon essai :
Code:
op<<"nbposte "<< nr << endl;
op<<"nbperiode "<< dm << endl;
op<<"nbgroupe "<< nbgroupe<< endl;
 
    for(i=0; i<nbgroupe; ++i)
    {
        NbrPosClasse[i] = 0;
        if (nbgroupe==1) // s'il y a un seul groupe
        {
            NbrPosClasse[i] = nr;
            op<<"groupe " << i << " nbposte " << NbrPosClasse[i] <<" : " ;
            for (int t=0;t<NbrPosClasse[i];t++){ // taille de chaque groupe
                op <<""<< t <<"\t";
            }
            op << "\n";
            int nombre_maximale_P = 8;
            int nombre_minimale_P = 3;
            NombrPerdiodeGroupe[i]=rand()%(nombre_maximale_P - nombre_minimale_P) + nombre_minimale_P;
            op<<"groupe " << i << " nbperiode " << NombrPerdiodeGroupe[i] <<" : " ;
            for (int t=0;t<NombrPerdiodeGroupe[i];t++){ // taille de chaque groupe
                op <<""<< t <<"\t";
            }
            op << "\n";
        }
    }
    for(i=0; i<nbgroupe; ++i)
    {
        NbrPosClasse[0] = rand()% nr;
        NbrPosClasse[1] = nr - NbrPosClasse[0];
        op<<"groupe " << i << " nbposte " << NbrPosClasse[i] <<" : " ;
        if (nbgroupe > 1) // s'il y a un seul groupe
        {
            for (int t=0;t<NbrPosClasse[i];t++){ // taille de chaque groupe
                op <<""<< t <<"\t";
            }
            op << "\n";
        }
    }
Merci d'avance.