README.txt ========== PROGRAMME HUFFMAN Instructions: * Nous vous avons fourni un programme capable de faire l'encodage Huffman, et presque tout ce dont vous avez besoin pour le decodage Huffman. * Si vous executez le programme que l'on vous a fourni et si vous esayez de decoder, vous obtiendrez un message vous disant que la methode de decodage n'est pas implementee. Vous avez devine! C'est bien cela que l'on vous demande de faire. * Vous allez devoir modifier seulement le fichier "huffmandecoder.cpp". Vous devez le faire en ajoutant le code necessaire a la methode: HuffmanDecoder::decode Essayez de ne pas modifier les autres fichiers! Les autres classes fournissent des methodes que vous pouvez appeler, mais vous n'avez pas besoin de modifier les classes en elles-meme. * En effet, nous vous encourageons fortement a ne pas changer les fichiers autres que huffmandecoding.cpp/h. De cette facon, on pourrait reparer les bugs qui pourraient apparaitre dans les autres fichiers en re-postant ces fichiers sur le Web, ce qui vous permettrait de les re-incorporer dans votre programme tres facilement. * Les fichiers qu'il vous sera utile de consulter afin de faire votre devoir sont: ibitstream.cpp/h huffmancharacter.cpp/h huffmantree.cpp/h huffman.cpp * ibitstream.cpp/h rt obitstream.cpp/h genere quelques avertissements (warnings) sur certains compilateurs. Le compilateur vous avertit que certains bits peuvent etre perdus lorsque certained manipulation de bas niveau de decalage de bits sont effectuees; Ce ne sont que des avertissements, et en fait, la manipulation de bits marche comme il faut. Encore mieux, nous avons decide de faire toutes ces manipulations de bits de bas niveau pour vous, et la seule chose qui vous concerne est la facon d'UTILISER les classes IBitStream ou OBitStream. * Veuillez, s'il vous plait, reporter tous les bugs que vous rencontrez a votre instructeur (Notez que ce projet est un projet plus pratique et realiste que ceux que vous avez l'habitude de faire dans vos devoirs. C'est pourqoi, des bugs imprevus peuvent apparaitre). Verifiez le site Web regulierement (http://www.site.uottawa.ca/~nat/Courses/GF-Cours/Devoir2/) pour verifier s'il y a des rapports de bugs, des methodes pour les fixer ou d'autres informations. Votre project devra contenir les fichiers suivants: =================================================== huffman.cpp: le programme principal ibitstream.cpp/h: la classe pour l'entree (a partir d'un fichier) bit-par-bit obitstream.cpp/h: la classe pour la sortie (vers un fichier) bit-par-bit huffmancharacter.cpp/h: La manipulation de caracteres huffman avec le code correspondant, la probabilite, etc. derive de comparable huffmantree.cpp/h: la classe representant un noeud dans l'arbre Huffman huffmanobject.cpp/h: la superclasse de l'encodeur/decodeur Hufman cree l'arbre huffman approprie huffmandecoder.cpp/h: derive de l' object huffman - il FERA le decodage huffmanenconder.cpp/h derive de l'object huffman - il fait l'encodage priorityqueue.cpp/h: utilise pour la construction de l'arbre huffman dans huffmanobject sort.cpp/h auxiliaire pour priorityqueue.cpp comparable.cpp/h superclasse de HuffmanCharacter Fichiers de Donnees: ==================== freq: fichier contenant les frequences encoded.bin: le message encrypte (que vous devez decoder)