begin process at 2012 05 29 12:34:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

modification et afichage des noeuds d'un arbre en C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

modification et afichage des noeuds d'un arbre en C++

mardi 12 mai 2009 à 21:14:09 | modification et afichage des noeuds d'un arbre en C++

isil4

Bonjour;
Je ne comprend pas ou est le problème;
je suis sur le cryptage de Huffman, dans la phase affectation codes, en ce moment, mon programme affecte un caractére a chaque noeud d'un arbre, si c'est un fils gauche il lui affecte un '0' si c'est le droit un '1'
le problème c'est que dès que je veux qu'il m'affiche ce qu'il a ffecté il me renvoie pas le meme code affecté lors du traitement, je trouve pas l'erreur, je l'ai meme déroulé manuellement, RIEN
svp aidez moi.

fonction qui affecte les caractéres:
// parcours  de l'arbre en infixé et ajouter le code
void affich_infixe_croissant(ElementPoids *a)
{

        if(a!=NULL)
        {
               affich_infixe_croissant(a->FilsDroit);
              
                
                affich_infixe_croissant(a->FilsGauche);
               if (a->FilsDroit!=NULL) { strcpy(a->FilsDroit->Code,"0");
                                         printf("cest le fils droit \n\n");
                                         printf(" -> Fils gauche %d ", a->FilsDroit->Num);
                                         printf(" -> Code %s ", a->FilsDroit->Code);
                                       }
               if (a->FilsGauche!=NULL) {strcpy(a->FilsGauche->Code,"1");
                                         printf("cest le fils gauche \n\n");
                                         printf(" -> Fils droit %d ", a->FilsGauche->Num);
                                         printf(" -> Code %s ", a->FilsGauche->Code);
                                       }
                
                
        }
}
// fonction 1 qui affiche l'arbre avec ses codes
// parcours  de l'arbre en pretfixé et affichage de l'arbre

void affich_arbre(ElementPoids *a, int profondeur)
{
        int i;
        if(a!=NULL)
        {
             
               affich_arbre(a->FilsDroit, profondeur+1);
               for(i=0;i<profondeur;i++)
                        printf("\t");
               printf("%d %s\n",a->Num, a->Code);
               affich_arbre(a->FilsGauche, profondeur+1);
        }
}
// fonction2 qui affiche l'arbre

void affich_infixe_croissant2(ElementPoids *a)
{

        if(a!=NULL)
        {
                affich_infixe_croissant2(a->FilsDroit);
                affich_infixe_croissant2(a->FilsGauche);
               if (a->FilsDroit!=NULL) { printf("cest le fils droit \n\n");printf(" -> Fils gauche %d ", a->FilsDroit->Num);printf(" -> Code %s ", a->FilsDroit->Code);}
               if (a->FilsGauche!=NULL) {printf("cest le fils gauche \n\n");printf(" -> Fils droit %d ", a->FilsGauche->Num);printf(" -> Code %s ", a->FilsGauche->Code);}
                
                
        }
}

pour les resultats, dans la fonction qui affecte les codes j'ai dans tous les fils droits des 1 et gauches des 0, mais dans les fonction d'affichage j'ai les memes valeurs de noeuds que le premiere fontion (parce que elle aussi fait de laffichage) mais des codes different.
je trouve pas l'erreur
j'ai vraiment besoin d'aide


Cette discussion est classée dans : arbre, code, printf, fils, filsdroit


Répondre à ce message

Sujets en rapport avec ce message

Pb avec les printf [ par PierScher ] voici le code pour afficher un pendu :printf(" ++++++++++++++++++++++++\n");printf(" API Windows NT [ par Nebula ] Bonsoir !J'essaie de récupérer le propriétaire d'un fichier sur un volume NTFS, mais le système me retourne toujours un échec.... J'utilise le code su La hierarchie pere et fils [:(] !!!!!!!!!!!! HELP!!!!!!!!!!! [ par laetitia334 ] bonjour a tous! j'ai un probleme avec un programme! car je ne comprend pas les termes utilisés:Main (){int pid;printf("je suis le processus initial \n Cryptage de Jules César [ par thedivxboy ] Pourquoi ce code plante quand je mets un scanf ?Et pourquoi lorsque je retire 27 au résultat crypté si il dépasse l'alphabet, cela m'affiche des carac printf de #define [ par Manson ] Bonjour,voila j'ai un #define qui se presente sous cette forme :#define FILEVER 1,2,3,4Je ne peux absoluement pas changer son format.< Problem de 'left operand must be a lvalue" [ par Orezza ] Voila je vous mets le code qui est un code trouver sur ce site mais que j'ai modifié. je ne comprends pas les erreurs de compilations pourriez-vous ra Problème pointeur en c++ [ par ch3mical ] Bonjourj'ai un problème avec une partie de code , lorsque je créer mon arbre binaire jai un message d'erreur lorsque je rappel ma fonction récursive . SOS manque d'inspiration [ par graall ] J'ai besoin de faire un petit programme (en mode console) qui demande à l'utilisateur de saisir le nom d'un fichier et ensuite, qui vérifie si ce fich tout premier porgramme en C. HELP !! [ par juancho2786 ] Bonjour a TOUS!Je viens de créer mon tout premier "programme" en C. Mais je ne suis pas sur que le code soit correcte. Est ce que vous pouvez me dire Probleme avec les arbres ( operations de bases ) [ par Anysse ] Salut, alors voila j ai fais des fonctions d'ajout et d'affichage du contenu d'un arbre binaire, mais je sais pas pourkoi il affiche en plus des eleme


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales