Compression Program in C
        Posted  
        
            by 
                Delandilon
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Delandilon
        
        
        
        Published on 2013-11-03T01:43:34Z
        Indexed on 
            2013/11/03
            3:53 UTC
        
        
        Read the original article
        Hit count: 187
        
c
I want to compress a series of characters. For example if i type
Input : FFFFFBBBBBBBCCBBBAABBGGGGGSSS (27 x 8 bits = 216 bits) Output: F5B7C2B3A2B2G5S3 (14 x 8 bits = 112bits)
So far this is what i have, i can count the number of Characters in the Array. But the most important task is to count them in the same sequence. I can't seem to figure that out :( Ive stared doing C just a few weeks back, i have knowledge on Array, pointers, ASCII value but in any case can't seem to count these characters in a sequence. Ive try a bit of everything. This approach is no good but it the closest i came to it.
#include <stdio.h>
#include <conio.h>
int main()
{
 int charcnt=0,dotcnt=0,commacnt=0,blankcnt=0,i, countA, countB;
 char str[125];
 printf("*****String Manipulations*****\n\n");
 printf("Enter a string\n\n");
 scanf("%[^'\n']s",str);
 printf("\n\nEntered String is \" %s \" \n",str);
 for(i=0;str[i]!='\0';i++)
 {
 // COUNTING EXCEPTION CHARS                         
 if(str[i]==' ')
    blankcnt++;
 if(str[i]=='.')
    dotcnt++;
 if(str[i]==',')
    commacnt++;
 if (str[i]=='A' || str[i]=='a')
  countA++;
      if (str[i]=='B' || str[i]=='b')
  countA++;
 }
 //PRINT RESULT OF COUNT
 charcnt=i;
 printf("\n\nTotal Characters : %d",charcnt);
 printf("\nTotal Blanks     : %d",blankcnt);
 printf("\nTotal Full stops : %d",dotcnt);
 printf("\nTotal Commas     : %d\n\n",commacnt);
 printf("A%d\n", countA);
 }
© Stack Overflow or respective owner