Thursday, April 14, 2016

W.A.P to implement CheckSum method.



#include<stdio.h>
#include<conio.h>

int carry=0;
int add(int x, int y);
int addi(int x, int y);
int com(int a);

void main()
{
int i=0,j,dl=0,dl1;
char data1[100],data2[100],data[100];
int sum[100],comp[100],checksum[100];
clrscr();
printf("\n Enter The Data ");
scanf("%s",&data);
dl=strlen(data);
for(i=0;i<dl/2;i++)
data1[i]=data[i];
for(i=dl/2;i<dl;i++)
data2[i]=data[i];

for(i=(dl/2)-1;i>=0;i--)
{
int p=dl-1;
sum[i]=add(data1[i],data2[p]);
dl--;
}
dl1=strlen(data);

printf("\nData1.....");
for(i=0;i<dl1/2;i++)
printf("%c",data1[i]);

printf("\nData2.....");
for(i=dl1/2;i<dl1;i++)
printf("%c",data2[i]);
printf("\n----------------");

printf("\nSum.....");
for(i=0;i<dl1/2;i++)
printf("%d",sum[i]);

printf("\nCheck Sum.....");
for(i=0;i<dl;i++)
{
checksum[i]=com(sum[i]);
printf("%d",checksum[i]);
}
printf("\n\n Receiver Side :");
printf("\n Data ");
for(i=0;i<dl1/2;i++)
printf("%c",data1[i]);
printf(" ");

for(i=dl1/2;i<dl1;i++)
printf("%c",data2[i]);
printf(" ");

for(i=0;i<dl;i++)
printf("%d",checksum[i]);

printf("\n Addition : ");
for(i=dl-1;i>=0;i--)
sum[i]=addi(sum[i],checksum[i]);

for(i=0;i<dl;i++)
printf("%d",sum[i]);

printf("\n Compliment : ");
for(j=0;j<dl;j++)
{
comp[j]=com(sum[j]);
printf("%d",comp[j]);
}
getch();
}

int add(int x,int y)
{
x=x-'0';
y=y-'0';
if(x==1 && y==1 && carry==1)
{
carry = 1;
return 1;
}
else if(x==1 && y==1 && carry==0)
{
carry = 1;
return 0;
}
else if(x==1 && y==0 && carry==1)
{
carry = 1;
return 0;
}
else if(x==0 && y==1 && carry==1)
{
carry = 1;
return 0;
}
else if(x==0 && y==0 && carry==0)
{
carry=0;
return 0;
}
else if(x==0 && y==0 && carry==1)
{

carry=0;
return 1;
}
else if(x==0 && y==1 && carry==0)
{
carry=0;
return 1;
}
else if(x==1 && y==0 && carry==0)
{
carry=0;
return 1;
}
}

int addi(int x,int y)
{
if(x==1 && y==1 && carry==1)
{
carry = 1;
return 1;
}
else if(x==1 && y==1 && carry==0)
{
carry = 1;
return 0;
}
else if(x==1 && y==0 && carry==1)
{
carry = 1;
return 0;
}
else if(x==0 && y==1 && carry==1)
{
carry = 1;
return 0;
}
else if(x==0 && y==0 && carry==0)
{
carry = 0;
return 0;
}
else if(x==0 && y==0 && carry==1)
{
carry = 0;
return 1;
}
else if(x==0 && y==1 && carry==0)
{
carry = 0;
return 1;
}
else if(x==1 && y==0 && carry==0)
{
carry = 0;
return 1;
}
}

int com(int a)
{
if(a==1)
return 0;
else
return 1;
}

No comments:

Post a Comment