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 :

Créer et Parcourire Un Arbre n-aire ?


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Créer et Parcourire Un Arbre n-aire ?
    Salut tout le monde , voila en se moment je travaille sur la création et l’exploration d'un arbre N-Aire mais je m'embrouille un peut la :/ Un peut d'aide serai le bienvenue
    Voila les code que j'utilise enfin une partie !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Noeud::Noeud(auto father,int *tabptr , int h , int w)
    {
     this->pere=father;  //Pointer Le pére
     for (int i=0 ; i < h ; i++)  //Copier le tableau du dammier
     for (int j=0 ; j < w ; j++)
     {
    Casen[j][i]=(int)tabptr[h * j + i];
     }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Une partie de l'extraction des fils !
    case 0:  //Tester Coté droit
          if (Casen[j+1][i+1]==CaseVide ) //deplacement seulement
        {
        auto fils =std::make_unique<Noeud>(this,&(Casen[0][0]),8,8);
        fils->EditCase(i , j , CaseVide);
        fils->EditCase(i+1,j+1,PionAllie);
        this->addChildren(fils);
        }  //Ajouter au noeud fils pointé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void Noeud::addChildren(std::unique_ptr <Noeud >&child)
    {
    this->children.push_back(std::move(child));
    //Ajouter le fils au neoud pére
    }
     
     
    Racine = new Noeud(); // dans le constructeur de l'objet jeux dames
     Racine->CopierTableau(&(Case[0][0]),8,8); //Aprés initialisation on copie l'etat initial du jeux
    Racine->extractChildren(); //Extraction des enfant
    Après cela je bloque pour ajouter la profondeur et la récursivité une idée une orientation serait la bienvenue
    Merci D'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Pouvez-vous être plus précis ?

    Votre code sens la naphtaline.
    - Éviter les pointeurs
    - Éviter les tableaux de tableau
    etc...

    Une lecture d'un cours de C++ Moderne pourrait grandement simplifier le code et la conception de votre projet.

  3. #3
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    auto, unique_ptr, vector... C'est pas si vieux que ça hein...
    Effectivement un * traine, qui peut peut-être remplacé par de itérateurs, mais je trouve que ça va encore.
    Ensuite pour les tableaux de tableaux, effectivement...
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

Discussions similaires

  1. [Débutant] Créer et parcourir un arbre en C#
    Par ivoratparis dans le forum C#
    Réponses: 1
    Dernier message: 21/09/2014, 15h09
  2. Parcourir un arbre n-aire
    Par hbenji dans le forum C
    Réponses: 2
    Dernier message: 10/12/2012, 13h05
  3. [debutant] parcours en profondeur arbre n-aire
    Par tx dans le forum Langage
    Réponses: 1
    Dernier message: 15/02/2006, 03h56
  4. construire un arbre n-aire
    Par emidelphi77 dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2005, 18h47
  5. arbre n-aire delete
    Par Fry dans le forum C++
    Réponses: 13
    Dernier message: 19/10/2004, 21h22

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