Compression Program in C
- by Delandilon
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);
}