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 :

integration des arbres


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut integration des arbres
    bonjour tout le monde
    voila j'ai une class "listposte" et je veux la cr�er sous forme d'un arbre.
    remarque: cette class est une class des postes vide! pour faire une affectation des individus a ces postes
    alors j'aimerai bien savoir comment le faire; et comment elle devient ma class ( je parle de la syntaxe ou l'integration d'une biblioth�que des arbre s'il existe.....)
    cordialement

  2. #2
    Membre tr�s actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Par d�faut
    Bonjour,

    Tu as fait quelque chose d�j� ? Si on part de rien, �a va �tre dur de t'aider...

  3. #3
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    Bonjour, si c'est pour un arbre tu peux stocker une liste de classe dans une autre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Employe {
    public:
            Employe(){}
    };
     
    class Patron {
    public:
            Parton(){}
    private:
            Employe listeEmploye[ 10 ];
    };
    Je ne sais pas si c'est la meilleur solution cependant elle est simple � g�rer.

    Si tu parlais de les repr�senter, koala01 nous avait donn� le lien de ce site :http://www.graphviz.org/Home.php

  4. #4
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut oui ce que j'ai fait.....
    Citation Envoy� par GeantVert13 Voir le message
    Bonjour,

    Tu as fait quelque chose d�j� ? Si on part de rien, �a va �tre dur de t'aider...
    enfin j'ai un grand travail
    j'ai commenc� par faire des class "personne" et "poste" "listpersonne" et "listposte".
    mon travail consiste a faire une affectation des individus a ces poste l�!
    j'ai mod�liser mon probleme et je coince dans listpost qui est une class vide pour le moment et je dois la faire en tant qu'arbre ! car vous voyez l'hi�rarchie des postes; chefs et les subordonn�s... et j'esp�re que j'etais un peu clair

  5. #5
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut les postes
    Citation Envoy� par PilloBuenaGente Voir le message
    Bonjour, si c'est pour un arbre tu peux stocker une liste de classe dans une autre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Employe {
    public:
            Employe(){}
    };
     
    class Patron {
    public:
            Parton(){}
    private:
            Employe listeEmploye[ 10 ];
    };
    Je ne sais pas si c'est la meilleur solution cependant elle est simple � g�rer.

    Si tu parlais de les repr�senter, koala01 nous avait donn� le lien de ce site :http://www.graphviz.org/Home.php
    le problem n'est pas dans la class personne ! c'est dans la class "listpost" et ce sont les poste qui sont accessible et vide

  6. #6
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    "Employe listeEmploye[ 10 ];" Indique qu'il y aura 10 employ�s pour un patron, dans ces classes tu y rajoutera sans do�te un nom, qui poura �tre "vide" lorsque le poste sera � pourvoir.
    Il est donc facile de retrouver dans un tableau les classes qui contiennent le nom "vide".
    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
     
    class Patron {
    public:
            Parton( std::string nom= "vide" ){}
            std::string VoirPatron() const { return nom; }
            void NouveauPatron(std::string nom) { this->nom = nom; }
    private:
            std::string nom;
            Employe listeEmploye[ 10 ];
    }
     
    class listpost {
       public:
          listpost();
     
       private:
          Patron patron;
    };

  7. #7
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut meercii
    Citation Envoy� par PilloBuenaGente Voir le message
    "Employe listeEmploye[ 10 ];" Indique qu'il y aura 10 employ�s pour un patron, dans ces classes tu y rajoutera sans do�te un nom, qui poura �tre "vide" lorsque le poste sera � pourvoir.
    Il est donc facile de retrouver dans un tableau les classes qui contiennent le nom "vide".
    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
     
    class Patron {
    public:
            Parton( std::string nom= "vide" ){}
            std::string VoirPatron() const { return nom; }
            void NouveauPatron(std::string nom) { this->nom = nom; }
    private:
            std::string nom;
            Employe listeEmploye[ 10 ];
    }
     
    class listpost {
       public:
          listpost();
     
       private:
          Patron patron;
    };
    merciii bcp! je vais essayer avc ce que vous m'avez donn�!

  8. #8
    Membre tr�s actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Par d�faut
    Citation Envoy� par elmouvic Voir le message
    enfin j'ai un grand travail
    j'ai commenc� par faire des class "personne" et "poste" "listpersonne" et "listposte".
    mon travail consiste a faire une affectation des individus a ces poste l�!
    j'ai mod�liser mon probleme et je coince dans listpost qui est une class vide pour le moment et je dois la faire en tant qu'arbre ! car vous voyez l'hi�rarchie des postes; chefs et les subordonn�s... et j'esp�re que j'etais un peu clair
    Donc si je comprends bien ta question, c'est comment impl�menter un arbre en C++ ?

    http://lmgtfy.com/?q=c%2B%2B+tree+implementation

  9. #9
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut
    Citation Envoy� par PilloBuenaGente Voir le message
    "Employe listeEmploye[ 10 ];" Indique qu'il y aura 10 employ�s pour un patron, dans ces classes tu y rajoutera sans do�te un nom, qui poura �tre "vide" lorsque le poste sera � pourvoir.
    Il est donc facile de retrouver dans un tableau les classes qui contiennent le nom "vide".
    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
     
    class Patron {
    public:
            Parton( std::string nom= "vide" ){}
            std::string VoirPatron() const { return nom; }
            void NouveauPatron(std::string nom) { this->nom = nom; }
    private:
            std::string nom;
            Employe listeEmploye[ 10 ];
    }
     
     
    class listpost {
       public:
          listpost();
     
       private:
          Patron patron;
    };
    donc pour votre conseil: je rajoute la class patron a mes 4 classqui sont ( personne listpersonne et poste et listposte)?? et la class employe c la class personne je pense

  10. #10
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    Ops.. Si tu n'a que: "personne listpersonne et poste et listposte" il n'est pas question d'arbre, l'arbre aurait servit � g�rer une hi�rarchie par exemple, un simple std::map ou dans le genre pourrait suffire � mettre en relation les postes aux personnes !

  11. #11
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut
    Citation Envoy� par PilloBuenaGente Voir le message
    Ops.. Si tu n'a que: "personne listpersonne et poste et listposte" il n'est pas question d'arbre, l'arbre aurait servit � g�rer une hi�rarchie par exemple, un simple std::map ou dans le genre pourrait suffire � mettre en relation les postes aux personnes !
    j'ai pas bien compris ce que vous m'avez dit!
    au fete j'ai 4 class :
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    class personne
    public:
    	  personne(){affecte=0;};
    	  ~personne(){};
    	  void afficherP();
          void intialiserP(int matPersonne,char *nom , int gra,int Comp);
    	  int getmat();
    	  int getetat();
    	  void nonSatefe();
    	  void ajouter_comp(poste *po,int niv_comp);
    	  void affecte_pers(poste *po);
    	  poste *poste_pers; //le poste
     private:
    	 int matP;
         char *nomP;
         vector <competance> comp_pers;// Niveau de competance
    	 int cod_gra; // code grade
    	 int affecte;// 0 non Affecte 1 pour Affecte -1 Affecte non satesfe 
    class poste
    {
      public:
    	  poste(){post_occupe=0;}; 
    	  ~poste(){};
    	 int get_numpost();
    	 char get_postratt();
    	 void set_num_post(int n);
      private:
    	 int num_post;
         char desi_post;
         char post_ratt;
    	 int capacite;
    	 int post_occupe;
    };
    class listpersonne
    {
      public:
    	  listpersonne(){};
    	  ~listpersonne();
    	  int CalculerCCout();
    	  void Ajouterpersonne(personne p,int position);
    	  void Retirerpersonne(personne p);
          void affichel();
    	  int nombrpersnonsatisfai();
    	  personne *getpersonne(int i);
     private:
    	 int num;
         int n;
    	 vector <personne> personneaffecte;
    };
    et je veux une class listposte ??? voila ce que j'ai fait en r�sum�

  12. #12
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    Prends le probl�me � l'endroit: quels services doit rendre cette classe?

    parce que sinon, une simple std::list<poste> pourrait suffire

  13. #13
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut
    Citation Envoy� par leternel Voir le message
    Prends le probl�me � l'endroit: quels services doit rendre cette classe?

    parce que sinon, une simple std::list<poste> pourrait suffire
    je vais vous repondre:
    alors je suis dans un probleme d'affectation du personnel:
    je veux attribuer des employ� a des poste selon des competance et des preferences! alors j'avais vraiment un obstacle pour demarrer! alors j'ai pens� de faire ces classe ! car j'ai pens� qu'elles serai utile pour le reste du problem: puisque e vais implementer l'algorithme tabou dans mon pb d'affectation apr�s !
    alors si vous voyez une autre methode plus simple et plus utiles! ou bien une modelisation des class dont je l'utilise vraiment vous me le proposez ! merci

  14. #14
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    Ou alors c'est peut-�tre d�t au fait que tu as trop de classes. (tes deux listes peuvent �tre g�r�es par la m�me classe, ce sera d'autant plus facile)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class RelationEmployePoste {//Une classe regroupant la liste de postes et la liste d'employés
            RelationEmployePoste() {}
            //La création, comparaison, destruction d'employé ou de poste... ce fera ici 
            //Les fonctions viendrons sans doute plus logiquement
    private:
            std::vector <Personne> listeDePersonne;
            std::vector <Poste> listeDePoste;
    };
    (Au fait, on ce tutoie ici !!)

  15. #15
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    Premi�rement, corrigeons ton code:
    • Choisir une langue et bien la parler. Je propose le fran�ais.
    • Utiliser les concepts C++ � bon escient (enum, bool, std::string)
    • Ne pas suffixer les membres avec l'initiale de la classe, c'est de l'information inutile et parasite
    • utiliser un constructeur correct, et ne pas avoir de init()
    • s�parer les descripteurs des �l�ments algorithmiques: une personne est affect�e si elle est � une place
    • utiliser une classe pour repr�senter les donn�es algorithmiques.
    • s�parer les informations. le poste n'est pas une partie de la personne, par contre, il y a des paires {poste, personne}


    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    //ai pas bien compris ce que vous m'avez dit!
    //au fete j'ai 4 class :
    enum grade_t {Agent, Chef, GrandChef, PDG};
     
    class personne {
    private:
    	const std::string m_nom;
    	int m_matricule;
    	map<competance, int> m_competences;// Niveau de competance
    	grade_t m_grade; // code grade
    public:
    	void personne(int mat, std::string const& nom , grade_t grade, std::map<competence, int> competences):
    		m_matricule(mat), m_nom(nom), m_grade(grade), m_competences(competences){
    	}
    	~personne(){};
    	void afficher(std::ostream& flux);
    	int matricule() const {return m_matricule;}
    	int matricule() const {return m_matricule;}
    	int matricule() const {return m_matricule;}
    };
     
    class poste {
    private:
    	const int m_numero;
    	const std:string m_designation;
    	const char m_post_ratt;//hein?
    	const int m_capacite;
    	std::vector<personne*> occupants
    public:
    	poste(int numero, std::string const& m_designation, char post_ratt, int capacite):
    		m_numero(numero), m_designation(designation), m_post_ratt(post_ratt), m_capacite(capacite){
    		occupants.reserve(capacity);
    	}
    	~poste(){};
    	int numero() const {return m_numero;}
    	char postratt() const {return m_post_ratt;}//hein?
     
    	bool contient(const personne* p) const;
     
    	//ajoute une personne à ce poste, si possible
    	bool ajouter(const personne* p) {
    		if (occupants.size() == m_capacite) return false;
     
    		occupants.push_back(p);
    		return true;
    	}
     
    private://vraiment?
    	//retire une personne de ce poste
    	bool retirer(const personne* p); //en exercice
     
    public:
    	//cherche le plus malheureux.
    	const personne* malheureux() const;
     
     
    	//calcul la somme des niveaux de bonheur des gens dans ce poste
    	int bonheur() const;
     
    	//calcul la somme des niveaux de bonheur des gens dans ce poste si p y était ajouté
    	int bonheurAvec(const personne* p) const;
     
    	//calcul la somme des niveaux de bonheur des gens dans ce poste si p en était enlevé
    	int bonheurSans(const personne* p) const;
     
    	bool transfererMalheureuxVers(poste& autre) {
    		const personne* lui = malheureux();
    		if (autre.ajouter(lui)) return retirer(lui);
    		return false;
    	}
    };
    il te faudra bien sur une fonction (libre) pour calculer le bonheur d'une personne en fonction de son poste.

    Ceci �tant fait, il te reste � cr�er deux ensembles de postes et de gens, et � travailler avec.
    Pour cela tu auras besoin d'une fonction qui prennent l'ensemble des postes, et teste s'il contient une personne

    PS: D'ailleurs, ce ne sont pas des postes, mais des bureaux

  16. #16
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2012
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Alg�rie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par d�faut
    Citation Envoy� par leternel Voir le message
    Premi�rement, corrigeons ton code:
    • Choisir une langue et bien la parler. Je propose le fran�ais.
    • Utiliser les concepts C++ � bon escient (enum, bool, std::string)
    • Ne pas suffixer les membres avec l'initiale de la classe, c'est de l'information inutile et parasite
    • utiliser un constructeur correct, et ne pas avoir de init()
    • s�parer les descripteurs des �l�ments algorithmiques: une personne est affect�e si elle est � une place
    • utiliser une classe pour repr�senter les donn�es algorithmiques.
    • s�parer les informations. le poste n'est pas une partie de la personne, par contre, il y a des paires {poste, personne}


    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    //ai pas bien compris ce que vous m'avez dit!
    //au fete j'ai 4 class :
    enum grade_t {Agent, Chef, GrandChef, PDG};
     
    class personne {
    private:
    	const std::string m_nom;
    	int m_matricule;
    	map<competance, int> m_competences;// Niveau de competance
    	grade_t m_grade; // code grade
    public:
    	void personne(int mat, std::string const& nom , grade_t grade, std::map<competence, int> competences):
    		m_matricule(mat), m_nom(nom), m_grade(grade), m_competences(competences){
    	}
    	~personne(){};
    	void afficher(std::ostream& flux);
    	int matricule() const {return m_matricule;}
    	int matricule() const {return m_matricule;}
    	int matricule() const {return m_matricule;}
    };
     
    class poste {
    private:
    	const int m_numero;
    	const std:string m_designation;
    	const char m_post_ratt;//hein?
    	const int m_capacite;
    	std::vector<personne*> occupants
    public:
    	poste(int numero, std::string const& m_designation, char post_ratt, int capacite):
    		m_numero(numero), m_designation(designation), m_post_ratt(post_ratt), m_capacite(capacite){
    		occupants.reserve(capacity);
    	}
    	~poste(){};
    	int numero() const {return m_numero;}
    	char postratt() const {return m_post_ratt;}//hein?
     
    	bool contient(const personne* p) const;
     
    	//ajoute une personne à ce poste, si possible
    	bool ajouter(const personne* p) {
    		if (occupants.size() == m_capacite) return false;
     
    		occupants.push_back(p);
    		return true;
    	}
     
    private://vraiment?
    	//retire une personne de ce poste
    	bool retirer(const personne* p); //en exercice
     
    public:
    	//cherche le plus malheureux.
    	const personne* malheureux() const;
     
     
    	//calcul la somme des niveaux de bonheur des gens dans ce poste
    	int bonheur() const;
     
    	//calcul la somme des niveaux de bonheur des gens dans ce poste si p y était ajouté
    	int bonheurAvec(const personne* p) const;
     
    	//calcul la somme des niveaux de bonheur des gens dans ce poste si p en était enlevé
    	int bonheurSans(const personne* p) const;
     
    	bool transfererMalheureuxVers(poste& autre) {
    		const personne* lui = malheureux();
    		if (autre.ajouter(lui)) return retirer(lui);
    		return false;
    	}
    };
    il te faudra bien sur une fonction (libre) pour calculer le bonheur d'une personne en fonction de son poste.

    Ceci �tant fait, il te reste � cr�er deux ensembles de postes et de gens, et � travailler avec.
    Pour cela tu auras besoin d'une fonction qui prennent l'ensemble des postes, et teste s'il contient une personne

    PS: D'ailleurs, ce ne sont pas des postes, mais des bureaux
    vous avez cit� deux classe au lieu 4
    merci ! mais a partir de la ligne 47 de votre code propos�! le private et le public qui suivent sont pour quelle classe!?
    -mais comment l'initialisation d'un groupe d'employ� se fait ?
    j'ai une proposition pour �a: je fait un chargement d'un fichier XML qui contient les infos. mais comment ?
    -la diff�rence entre les 3 fonctions du bonheur?
    -comment tester

  17. #17
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    les privacit�s sont utilisables plusieurs fois, si tu as plusieurs bloc logiques dans ta classe.

    Ici, c'�tait le cas de poste.

    L'id�e derri�re les trois fonctions de bonheurs sont pour les calculs dans un algorithme �volutionnaire.

    L'objectif �tant de minimiser une action, au sens du principe de moindre action et du formalisme lagrangien (ah, les maths�), il faut avoir pouvoir obtenir deux types d'informations: la quantit� d'action avant changement, et celle apr�s changement.
    L'atome de changement �tant le d�placement d'une personne.

    Il suffit donc de repr�senter les choses suivantes:
    • Une situation donn�e
    • Le calcul de l'action
    • Le m�canisme de modification de la situation

    J'ai choisi de r�partir la situation en trois blocs: une classe d�crivant une personne, une classe de "position" o� placer les personnes, et une paire d'ensemble pour assembler une situation (dont la situation initiale).
    D'ailleurs, je recommande de constituer un bureau sp�cial pour les gens non-affect�s.

    Pour l'action, il y a les diff�rentes fonctions de bonheur.
    Pour le m�canisme de modification, il y a poste::transfert.

    Ne reste donc qu'a choisir et coder l'algorithme de minimisation: g�n�tique? �volutionnaire? exploration syst�matique? arbre de d�cision?
    Pour cela, regarde du cot� de l'IA et de la prise de d�cision.

Discussions similaires

  1. integration des animation flash
    Par mikky dans le forum Int�gration
    R�ponses: 1
    Dernier message: 20/04/2006, 14h02
  2. [XML] Integrer des donn�es d'un fichier xml dans un autre ?
    Par vpet dans le forum XML/XSL et SOAP
    R�ponses: 2
    Dernier message: 16/03/2006, 18h41
  3. R�ponses: 3
    Dernier message: 27/07/2004, 12h01
  4. integrer des slashs
    Par freums dans le forum SQL Proc�dural
    R�ponses: 5
    Dernier message: 01/07/2004, 20h51
  5. R�ponses: 10
    Dernier message: 27/08/2002, 23h24

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