IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Générer une instance


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Par défaut Générer une instance
    Bonsoir à tous,

    Je souhaiterai créer une instance via un générateur.

    Les paramètres sont : le nombre de classes, le nombre de périodes et le nombre de ressources.
    Le code que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    	ofstream op ("../../../presence/code_new_prb/exec/instance/week/configgen2.txt"); // Ouverture en mode ecriture
    	op<<"nbressource "<< nbressource << endl;
    	op<<"nbperiode "<< nbperiode << endl;
    	op<<"nbclasse "<< NombreClasses<< endl;
     
    	for(i=0; i<NombreClasses; ++i)
    	{
    		NbrInfClasse[i] = 0;
    		if (NombreClasses==1) // s'il y a une seule classe
    		{
    			NbrInfClasse[i] = nbressource ;
    			op<<"classe " << i << " nbressource " << NbrInfClasse[i] <<" : " ;
    			for (int t=0;t<NbrInfClasse[i];t++){
    				op <<""<< t <<"\t";
    			}
    			op << "\n";
    			int nombre_maximale_P = 8;
    			int nombre_minimale_P = 3;
    			NombrPerdiodeClasse[i]=rand()%(nombre_maximale_P - nombre_minimale_P) + nombre_minimale_P;
    			op<<"classe " << i << " nbperiode " << NombrPerdiodeClasse[i] <<" : " ;
    			for (int t=0;t<NombrPerdiodeClasse[i];t++){ // taille de chaque classe
    				op <<""<< t <<"\t";
    			}
    			op << "\n";
    		}
    	}
    	for(i=0; i<NombreClasses; ++i)
    	{
    		NbrInfClasse[i] = 0;
    		NombrPerdiodeClasse[i] = 0;
    		if (NombreClasses > 1) // s'il y a plus d'une classe
    		{
    			op<<"classe " << i << " nbressource " << NbrInfClasse[i] <<" : " ;
     
    		}
    	}
    Le code actuel marche uniquement pour une seule classe. En effet, je veux aller plus loin et faire cela pour plus de classes.
    Je cherche à partager le nombre de ressources (15) sur l'ensemble des classes disponibles (4). De telle sorte que chaque classe doit contenir au minimum 1 ressource mais la somme ne doit pas dépasser le nombre 15. Pour les périodes, pour chaque classe, le nombre de périodes de présence du personnel vaut de 1 jusqu'à 10 (nbperiode ).
    Le fichier de sortie souhaité (exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    nbressource 15
    nbperiode 10
    nbclasse 4
    classe 0 nbressource 6 : 0 1 2 3 4 9
    classe 1 nbressource 4 : 5 6 7 8
    classe 2 nbressource 2 : 10 12
    classe 3 nbressource 3 : 11 13 14
    classe 0 nbperiode 6 : 0 1 2 6 7 8
    classe 1 nbperiode 3 : 0 1 2
    classe 2 nbperiode 4 : 5 2 7 8
    classe 3 nbperiode 7 : 1 4 7 8 9 5 3
    Merci pour vos réponses.

  2. #2
    Membre Expert
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 871
    Par défaut
    Tu veux faire une object factory si j'ai bien compris. J'en avais fait une dont j'avais posté le code ici. Koala01 a posté un autre exemple d'object factory. Tu devrais jeter un coup d'oeil aux deux (il a posté le lien de la sienne dans la discussion).

  3. #3
    Membre confirmé
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Par défaut
    Merci pour ta réponse. Je ne suis pas sur de pouvoir faire mon exercice avec une object factory car je n'ai pas assez de connaissances en c++.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Stratégie] Récupérer une instance existante
    Par cmoulin dans le forum Général Java
    Réponses: 14
    Dernier message: 11/05/2004, 15h48
  2. ajouter un champ dynamiquement à une instance de table
    Par maniack dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2004, 23h58
  3. [VB6]Passer le focus à une instance précedente
    Par Jeremiah dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 16/09/2003, 10h01
  4. Générer une liste
    Par pfredin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/04/2003, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo