#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