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++)

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;
}
je vous remerci d'avance pour votre aide cordialement