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 :

Problème Arbres déca


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut Problème Arbres déca
    Bonjour à tous, je suis nouveau sur le forum et j'ai un petit problème
    de programmation en c mais je ne voit pas comment faire.

    Alors voila en gros mon problème, je fait un programme sur les arbres qui à partir d'un fichiers txt qui pourrai ressembler à ça :
    *match A/B
    0*A gagne*0.1*match A/C
    1*match nul*0.1*Tir au but
    2*B gagne*0.8*match B/C
    10*A gagne*0.1*A gagnant
    11*B gagne*0.9*B gagnant
    A partir de ça il me renvoi un fichiers txt qui ressemble a çà:
    digraph {
    "match A/B"*>"match A/C (p=0.1)" [label = "A gagne (p=0.1)"];
    "match A/B"*>"Tir au but (p=0.1)" [label = "match nul (p=0.1)"];
    "match A/B"*>"match B/C (p=0.8)" [label = "B gagne (p=0.8)"];
    "Tir au but (p=0.1)"*>"A gagnant (p=0.01)" [label = "A gagne (p=0.1)"];
    "Tir au but (p=0.1)"*>"B gagnant (p=0.09)" [label = "B gagne (p=0.9)"];
    }
    Pour afficher ça :
    http://cinefilprod.free.fr/Arbre.jpg

    Seulement voila j'ai fais le programme pour un arbre binaire .... (gauche, droite) mais je voudrais le faire pour que chaque feuille comporte 10 fils !!!!

    Voici mon prog : http://cinefilprod.free.fr/Arbre.c

    Pour infos mon typedef doit ressembler à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct arbre{
    		     float proba_local,proba_generale;
    		     char reponse[10][1024];
                         char question[1024];
    		     struct arbre_ *fils[10];
    		     }arbre;
    Pourriez-vous m'aidez ???? S'il vout plait !!

  2. #2
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Bonjour
    Une solution peut être un peu compliqué , mais si tu n'a rien d'autre, c'est un bon exercice

    Comme je vois que tu sais gérer un arbre binaire, tu dois aussi pouvoir gérer une liste chainée. Ma solution pourrais donc être celle ci:

    Chaque noeud de ton arbre peut contenir une liste chainée contenant le lien sur les noeuds enfants. C'est le plus efficace si tu ne connais pas le nombre de noeuds enfant que peut avoir ton noeud parent.
    Page sur Developpez : http://pbriand.developpez.com

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Pour un arbre multi-fils, il y a généralement deux solutions :
    • Utiliser un conteneur quelquonque (liste chaînée, etc) pour maintenir pour chaque père une liste de ses fils.
    • Utiliser un arbre binaire fils-gauche-frère-droit, ce qui équivaut à donner au père une liste chaînée de fils (mais avec moins d'encapsulation possible)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut
    j'avais pensez à la liste chainé, ce que je lis confirme donc mon choix j'ai commencé à coder comme cela...

    Je vous tiens au courant, je perds pas une minute !

    Merci à vous

Discussions similaires

  1. Problème [ Arbre bicolore - Red black tree ] :
    Par vasto lord dans le forum C
    Réponses: 3
    Dernier message: 07/06/2013, 10h54
  2. Probléme Arbre Binaire
    Par stitch974 dans le forum Général Python
    Réponses: 5
    Dernier message: 30/08/2010, 22h45
  3. Problème arbres rouges et noirs
    Par azertylr dans le forum C
    Réponses: 0
    Dernier message: 04/11/2007, 20h10
  4. problème arbre hierarchique
    Par ljoly dans le forum Oracle
    Réponses: 4
    Dernier message: 19/10/2006, 11h38
  5. [JSTL] Problème de parcours d'arbre en XML
    Par slashmax dans le forum Taglibs
    Réponses: 1
    Dernier message: 04/12/2005, 17h13

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