#include<stdio.h> #include<math.h> main()
{
int i,j,k,m,n,cl;
char a[10],c[100]; clrscr();
printf("\n ENTER POLYNANOMIAL:");
scanf("%s",a);
printf("\n ENTER THE CRC FRAME:");
scanf("%s",c); m=strlen(a); cl=strlen(c);
for(i=0;i<m;i++) /* To eliminat first zeros in polynomial
*/
{
if(a[i]=='1')
{ m=m-i; break; }
}
for(k=0;k<m;k++) /* To Adjust the polynomial */ a[k]=a[k+i];
n=cl-m+1;
for(i=0;i<n;i++) /* To check polynomial remainder is zero or not */ if(c[i]=='1')
{
for(j=i,k=0;k<m;k++,j++) if(a[k]==c[j]) c[j]='0';
else c[j]='1';
}
for(i=0;i<cl;i++) /* To copy original data in c[] */ if(c[i]=='1')
{
printf("\n THERE IS SOME ERROR IN MESSAGE :");
break;
}
if(i==cl)
printf("\n MESSAGE IS CORRECT");
getch(); }
INPUT/OUTPUT :
ENTER POLYNANOMIAL: 1011 ENTER THE CRC FRAME:
10101011101 THERE IS SOME ERROR IN MESSAGE:
ENTER POLYNANOMIAL: 01011 ENTER THE CRC FRAME:
10011101011 MESSAGE IS CORRECT