OneCompiler

vrc

126

// CS20B1024 Sankethraj Kotagond
// Lab 3: Implementation of LRC

#include <stdio.h>

int main()
{
int n, flag = 1;
printf("Enter block size: ");
scanf("%d", &n);
int sender_data[n + 1], receivers_data[n + 1];
printf("Enter sender data one by one with space: ");
for (int i = 0; i < n; i++)
{
scanf("%d", &sender_data[i]); // enter sender data
}
int k = 0;
for (int i = 0; i < n; i++)
{
if (sender_data[i] == 1)
k++;
}

if (k % 2 == 0)
{
sender_data[n] = 0; // even parity
}
else
{
sender_data[n] = 1;
}

printf("Enter receivers data one by one with space: ");
for (int i = 0; i <= n; i++)
{
scanf("%d", &receivers_data[i]); // enter receiver data
}

printf("\nSenders data: \n");
for (int i = 0; i <= n; i++)
{
printf("%d", sender_data[i]);
}

printf("\nReceivers data: \n");
for (int i = 0; i <= n; i++)
{
printf("%d", receivers_data[i]);
}

for (int i = 0; i <= n; i++)
{
if (receivers_data[i] != sender_data[i])
{
flag = 0;
break;
}
}

if (flag)
{
printf("\ndata is successfully sent\n");
}
else
{
printf("\ndata is corrupted\n");
}
return 0;
}