#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int a[20],b[20],c[20],d[20],i,k,m,f,n,j,r,p,x,y,z,ch,key,q,v;
clrscr();
system("clear");
printf("\nEnter Length of Data word : ");
scanf("%d",&k);
printf("\nEnter The Data word : ");
for(i=1; i<=k; i++)
{
scanf("%d",&a[i]);
}
m=1;
while((k+m+1)>=pow(2,m))
{
m++;
}
printf("\nValue of M is : %d",m);
n=k+m;
j=1;
r=0;
for(i=1 ; i<=n;i++)
{
p = pow(2,r);
if(i==p)
{
b[i]=0;
r++;
}
else
{
b[i]=a[j];
j++;
}
}
printf("\nIntermediate Code Word is : \n");
for(i=1; i<=n; i++)
printf("%d",b[i]);
p=0;
for(i=1; i<=m; i++)
{
x=pow(2,p);
r=1;
for(j=x; j<=n; j=j+(x*2))
{
for(y=j; y<(j+x); y++)
{
c[r] = b[y];
r++;
}
}
z=0;
for(y=1; y<=(r-1); y++)
{
if(c[y]==1) z++;
}
if(z%2==0)
b[x]=0;
else
b[x]=1;
for(y=1; y<=20; y++)
c[y]=0;
p++;
}
printf("\n\nThe Hamming Code : ");
for(i=1; i<=n; i++)
printf("%d",b[i]);
getch();
}
No comments:
Post a Comment