Data Communication network programs (DCN)
Data Communication network(DCN) Program to implement VRC method(Double-Parity Check)
Write a program to implement VRC method(Double-Parity Check)
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int a[20][20],ch,i,j,k,no,n,m,sum,re,r[50],flag=0;
clrscr();
do
{
printf("\nVRC");
printf("\n1.Sender \n2.Receiver\n3.Exit");
printf("\nEnter your choice:");
scanf("%d",&ch);
switch(ch)
{
case 1:
printf("Enter No. of Messages:");
scanf("%d",&n);
printf("\nEnter the no. of bits for message:");
scanf("%d",&m);
for(i=0;i<n;i++)
{
printf("\nEnter %d message=",i+1);
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<n;i++)
{
sum=0;
for(j=0;j<m;j++)
sum=sum+a[i][j];
a[i][j]=(sum%2);
}
for(i=0;i<=m;i++)
{
sum=0;
for(j=0;j<n;j++)
sum=sum+a[j][i];
a[j][i]=(sum%2);
}
printf("\nMessage sent is :-\n");
for(i=0;i<=n;i++)
{
for(j=0;j<=m;j++)
printf("%d ",a[i][j]);
printf(" ");
}
break;
case 2:
flag=0;
printf("Enter Number of bits for received message=");
scanf("%d",&re);
printf("\nEnter The Received Message:-\n");
for(i=0;i<re;i++)
scanf("%d",&r[i]);
printf("Enter Number of Messages=");
scanf("%d",&n);
m=re/(n+1);
k=0;
for(i=0;i<=n;i++)
{
for(j=0;j<m;j++)
{
a[i][j]=r[k];
k++;
}
}
for(i=0;i<=n;i++)
{
for(j=0;j<m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
for(i=0;i<=n;i++)
{
sum=0;
for(j=0;j<m;j++)
{
sum=sum+a[i][j];
}
if(sum%2!=0)
{
printf("\nThere is an Error");
flag=1;
break;
}
}
if(flag!=1)
{
for(i=0;i<m;i++)
{
sum=0;
for(j=0;j<=n;j++)
{
sum=sum+a[j][i];
}
if(sum%2!=0)
{
printf("\nThere is an Error");
flag=1;
break;
}
}
}
if(flag!=1)
printf("No Error");
break;
case 3: exit(0);
}
}while(1);
}
Output:
VRC
1.Sender
2.Receiver
3.Exit
Enter your choice:1
Enter No. of Messages:3
Enter the no. of bits for message:4
Enter 1 message=1 0 0 1
Enter 2 message=1 1 1 0
Enter 3 message=0 0 1 0
Message sent is :-
1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0
=====================================================================
Enter your choice:2
Enter Number of bits for received message=20
Enter The Received Message:-
1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0
Enter Number of Messages=3
1 0 0 1 0
1 1 1 0 1
0 0 1 0 1
0 1 0 1 0
No Error