Hamming code program using c


#include<stdio.h>
#include<math.h>
int main()
{
 int data[20],r,n,i=1,l,t,sum,p,c,j;
   printf("\n enter howw many bit in data");
   scanf("%d",&n);
 
   for(i=0;i<n;i++)
   {
    l=n+i+1;
    t=pow(2,i);
    if(l<=t)
    {
    break;
    }
   }
   r=i;
   printf("\nr= %d \n",r);
   for(i=1;i<n+r;i++)
   {
   data[i]=0;
   }
   for(i=0;i<r;i++)
   {
     t=pow(2,i);
data[t] =-1;
   }
   printf("\n enter data bit");
   for(i=1;i<=n+r;i++)
   {
  if(data[i]==-1)
{
 data[i]=0;
}
else
{
scanf("%d",&data[i]);
}
   }
   for(i=n+r;i>=1;i--)
   {
    printf("\t %d",data[i]);
   }
   sum=0;
   c=0;
   for(i=0;i<r;i++)
   {
    p=pow(2,i);
   
printf("\n");
for(j=p;j<=n+r;j++)
    {
     c++;
   
    sum=(sum==data[j]?0:1);
  if(c==p)
{
j=j+p;
c=0;
}
  }
data[p]=sum;
printf("\n %d \n",sum);
sum=0;    
   }
   printf("\n encoded data");
   for(j=n+r;j>0;j--)
   {
    printf("\t%d",data[j]);
   }

Comments

Popular posts from this blog

BYTE STUFFING PROGRAM USING C

Rotate a matrix 270 degree AntiClockWise

Finding the length of connected cells of 1's (regions) in an matrix of 1's and 0's