#include int main() { FILE* fp=fopen("encoding.in","r"); int noRepCycle=0; int lCycle=0; char cCycle='\0'; char c; while(1) { c = fgetc(fp); if(c == cCycle) { if(noRepCycle==1) { //close NoRepition-Cycle; printf("1"); noRepCycle=0; } lCycle++; if(lCycle == 9) { printf("9%c",cCycle); //CycleLength/Character lCycle=0; cCycle='\0'; } } else if(c != cCycle) { //Close Cycle with more than one char if(lCycle>1) printf("%d%c",lCycle,cCycle); //CycleLengt/Character //Single-Char cycle if(lCycle==1) { //Open NoRep-Cycle (1) if(noRepCycle!=1) { printf("1"); noRepCycle=1; } //Print Escape-Sequence if(cCycle=='1') printf("1"); //Print Cycle printf("%c",cCycle); } lCycle=1; cCycle = c; } //new Line if(c=='\n') { if(noRepCycle==1) //Close open noRepCycle printf("1"); lCycle=0; cCycle='\0'; noRepCycle=0; printf("\n"); } if(feof(fp)) break; } printf("\n"); fclose(fp); return 0; }