tout d'abord bonjour a tous :p voila je suis actuellement en bts informatique et , j'ai un petit projet a realiser : compresser un fichier avec la methode RLE
et afficher le resultat de cette compresison en hexadecimale :p
bon tout d'abord j'ai reussit a lire le fichier et , a l'afficher en base hexadecimale
ensuite je compte le nombre de repetition du meme octet pour le RLE jusque la c'est asser facile c'est apres que sa se gate , comment faire pour que , dés que l'octet precedent et different de l'octet lu , lui dir qu'il affich celui ci une seule fois avec devant le nombre de fois qui apparait a la suite : je suis bloquer ici de plus je doit effectuer cette exercisse sans tablo ><
je vous fait par de mon code (fait avec dev c++)
je vous remerci d'avance pour votre aide cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { int i; char octet; char precedent; ifstream source; source.open("source.txt",ios::binary); precedent=0; i=1; while(source.read((char*)&octet,1)) { if (precedent==octet) { i++; } else { i=1; } cout<<hex<<i<<hex<<(int)octet<<" "; precedent=octet; } system("PAUSE"); return EXIT_SUCCESS; }
Partager