Friday, 26 January 2018

Write a program to implement Hamming Code. GTU

There Are two files:

//Receiver.c
#include<stdio.h>
int decimal(int n1,int n2,int n3)
{
    return(n1+n2*2+n3*4);
}
main()
{
    int b[7],i;
    FILE *fp;
    fp=fopen(".txt","r");
    for(i=0;i<7;i++)
    {
        fscanf(fp,"%d",&b[i]);
    }
    int s[3];
    s[0]=(b[3]+b[2]+b[1]+b[6])%2;
    s[1]=(b[0]+b[1]+b[2]+b[5])%2;
    s[2]=(b[0]+b[2]+b[3]+b[4])%2;
    switch(decimal(s[0],s[1],s[2]))
    {
        case 0:printf("\nNO ERROR");
               break;
        case 1:printf("\nERROR IN qo");
               break;
        case 2:printf("\nERROR IN q1");
               break;
        case 3:printf("\nERROR IN b2");
               break;
        case 4:printf("\nERROR IN q2");
               break;
        case 5:printf("\nERROR IN b0");
               break;
        case 6:printf("\nERROR IN b3");
               break;
        case 7:printf("\nERROR IN b1");
               break;
    }
}

//sender.c
#include<stdio.h>
main()
{
    char a[4];
    FILE *fp;
    fp=fopen(".txt","w");
    printf("\n ENTER BINARY STRING YOU WANT TO SEND: ");
    scanf("%s",a);
    int i,r[3];
    printf("%s",a);
    for(i=0;i<4;i++)
    {
        fprintf(fp,"%c ",a[i]);
    }

    r[0]=((int)(a[3]+a[2]+a[1]-'0'))%2;
    r[1]=((int)(a[0]+a[1]+a[2]-'0'))%2;
    r[2]=((int)(a[0]+a[2]+a[3]-'0'))%2;
    printf("");
    for(i=2;i>=0;i--)
    {
        printf("%d",r[i]);
        fprintf(fp,"%d ",r[i]);
    }
    fclose(fp);

}

No comments:

Post a Comment

It's time To increase blogging capability. To have a chance to contribute in digital world. Any Interested People who want to make t...