This program implements Compression.
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i,j,k,tmp,tmp2;
int datalen,ctr=0;
char data[100],encr[100];
clrscr();
printf("Enter data : ");
gets(data);
printf("\n\nData : ");
printf("\n%s\n",data);
printf("\n\nCompressed Data : \n");
for(i=0;data[i]!='\0';)
{
if(ctr==0)
{
tmp=data[i];
ctr++;
i++;
}
else
{
while(tmp==data[i])
{
ctr++;
i++;
}
if(ctr>=4)
{
k=ctr/10;
j=ctr%10;
printf("* %c %d %d",tmp,k,j);
ctr=0;
}
else
{
k=i;
j=i-ctr;
do
{
printf("%c ",data[j]);
j++;
} while(j<k);
tmp2=ctr;
ctr=0;
}
tmp=0;
}
}
getch();
}
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i,j,k,tmp,tmp2;
int datalen,ctr=0;
char data[100],encr[100];
clrscr();
printf("Enter data : ");
gets(data);
printf("\n\nData : ");
printf("\n%s\n",data);
printf("\n\nCompressed Data : \n");
for(i=0;data[i]!='\0';)
{
if(ctr==0)
{
tmp=data[i];
ctr++;
i++;
}
else
{
while(tmp==data[i])
{
ctr++;
i++;
}
if(ctr>=4)
{
k=ctr/10;
j=ctr%10;
printf("* %c %d %d",tmp,k,j);
ctr=0;
}
else
{
k=i;
j=i-ctr;
do
{
printf("%c ",data[j]);
j++;
} while(j<k);
tmp2=ctr;
ctr=0;
}
tmp=0;
}
}
getch();
}