Professional Documents
Culture Documents
Huffman Coding
Huffman Coding
#include<conio.h>
#include<stdio.h>
#include<process.h>
void main()
{
int i,j;
float temp,pr[3],p[3],sum=0,sm;
char a[3],*ar[3]={"c[0]","c[1]","c[2]"},*tp;
clrscr();
printf("\n\n Enter 3 characters : ");
for(i=0;i<3;i++)
{
scanf("\n%c",&a[i]);
}
printf("\n\n Enter their probablities : ");
for(i=0;i<3;i++)
{
scanf("\n%f",&pr[i]);
sum = sum + pr[i];
}
if(sum!=1)
{
printf("\n\n Sum of probablities must be equal to 1...");
}
}
}
printf("\n\nEntered data is ");
printf("\n Character\t Probability\t Codeword\n");
for(i=0;i<3;i++)
{
printf("\n\t%c\t%f\t%s",a[i],pr[i],ar[i]);
}
ar[1]="0";
ar[2]="1";
/* for(i=0;i<3;i++)
{
p[i] = pr [i];
}*/
sm = pr[1]+pr[2];
if(sm>pr[0])
{
printf("\n\nNow the sorted data is ");
printf("\n Character\t Probability\t Codeword\n");
printf("\n\t%c\t%f\t%s",'X',sm,"c[X]");
printf("\n\t%c\t%f\t%s",a[0],pr[0],ar[0]);
ar[0]="1";
ar[1]="00";
ar[2]="01";
printf("\n\nNow the codewords are ");
ar[0]="0";
ar[1]="10";
ar[2]="11";
printf("\n\nNow the codewords are ");
printf("\n Character\t Probability\t Codeword\n");
for(i=0;i<3;i++)
{
printf("\n\t%c\t%f\t%s",a[i],pr[i],ar[i]);
}
}
getch();
}