Compression RLE

cs_dark_cross Messages postés 7 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 3 décembre 2006 - 4 févr. 2006 à 10:55
cs_dark_cross Messages postés 7 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 3 décembre 2006 - 4 févr. 2006 à 11:02
<tt>probleme je ne compredns pas pourkoi ca renvoye pas la bonne chose

#include <stdio.h>
#include <stdlib.h>

//lit le fichier caractere par caractere//
void RLEcomp(){
int k;
char c,p='\0';
while((c=fgetc(stdin))!=EOF){
if (c==p){
k+=1;
}
else{
if(k!=1 || k==1) {

printf("^%c%d\n",p,k);
k=1;
}
}
}
p=c;

}

//////////////////////////////////////////

int main(){
printf("coucouc\n");
RLEcomp();
return 0;
}</tt>

1 réponse

cs_dark_cross Messages postés 7 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 3 décembre 2006
4 févr. 2006 à 11:02
j'ai oublier ce mode compression est utilisé par ex sur le acsii-art

il consiste a compter la frequence des lettres qui se suivent espacé par un caractere special ici ^ par ex



texte à compresser:

aaaaaaaaaaaaaaabbbbbbbbbbbbbbbcdsaaaa

texte compressé:

15a15b1c1d1s4a
0
Rejoignez-nous