Bon alors je vous poste un autre (et oui) code pour l'algorithme de compression de Huffman.
J'ai essayer au possible de clarifié le code, et celui ci est ecrit en C.
J'ai intégrer une gestion des erreurs.
Mode d'emploi : pour compresser tapez : huffman -c nom_fichier le programme crée un .huff
pour decompresser : huffman -x nom_fichier.huff
G aussi mis un petit makefile pour faciliter la compilation
22 nov. 2007 à 11:52
les codeurs entropiques : Huffman et d'autres codeurs .
donc j'ai modifier tes sources pour avoir en entrée une sequence de symboles ; c'est le cas le plus general ; à partir de ces symboles , les codes d'huffman sont générés , la séquences est codée , transmis dans un canal bruité et puis décode .
j'ai eu des problème lors du décodage : --> les codes d'huffman
ne sont pas correctement générés, les codes sont pré-fixés entre eux par exemple 01 et 01010101
j'ai besoin d'aide merci
26 nov. 2006 à 18:45
Je suis débutant en langage C, et je m'intéresse à la compression de Huffman. Je suis curieux de voir le résultat de ce code. Je n'arrive pas à le faire marcher sur devC++. Je pense que je mets mal les différents fichiers de code (main.c,huffman.c,...) en relation.
QQun pourrait-il me dire quelle est la marche à suivre pour le faire marcher avec devC++?
Merci
Camille
3 août 2006 à 15:03
probleme avec les fichiers "uniformes", i.e. toujours la meme lettre
l'arbre est reduit a sa racine, donc comme le code n'a pas prevu
ce cas la, le pogramme excute "NULL->fils_gauche", ce qui est genant.
Le cas uniforme est rare, car inutile, cependant le programme de compression doit le comprimer, c'est pas tres difficile ...
3 août 2006 à 11:26
J'avais écris ce code a l'époque ou j'apprenais a programmer en C, il est bien loin d'etre parfait, et effectivement ne marchais pas correctement, mais cela faisai tellement longtmeps que je l'avais oublié le bougre.
Merci a toi d'avoir signaler ce bug ;)
2 août 2006 à 21:30
je suis en train de regarder toutes les sources Huffmans de ccpfrance,
j'ai etudie la tienne, et je doit dire que je suis enerve, car deja il n'y a pas UN free() dans tes sources, ceci est une honte en soi !
Cependant ton programme ne marche absolument pas, j'ai essayer de compresser un fichier .c (comme blackjack3) et le fichier reconstuit etait altere, pourtant ton programme marche pour un fichier .txt
Alors j'ai fais le boulot a ta place (1h !!), voila le bug :
tu bidouilles dans l'ecriture de la table : tu mets un '\' pour la separtion, sauf que dans un fichier .c, il y a disons beaucoup beaucoup de slash (je te laisse deviner pourquoi ...) donc dans la tableau il y a le caractere '\', et donc dans mon fichier il y avait 96 caracteres differents (le 62eme etant le '\'), or il ne lit que 61 caracteres !!
Donc voila, je pousse un coup de geule, le DEBUGGGE ca existe !!!!!!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.