[c] le code

Viewer

  1. #include<stdio.h>  
  2. #include<string.h>  
  3.  
  4.  
  5.  
  6. #define N strlen(gen_poly)  
  7. char data[28];  
  8. char check_value[28];  
  9. char gen_poly[10];  
  10. int data_length,i,j;  
  11. void XOR(){  
  12.     for(= 1;< N; j++)  
  13.     check_value[j] = (( check_value[j] == gen_poly[j])?'0':'1');  
  14.       
  15. }  
  16. void receiver(){  
  17.     printf("Enter the received data: ");  
  18.     scanf("%s", data);  
  19.     printf("\n-----------------------------\n");  
  20.     printf("Data received: %s", data);  
  21.     crc();  
  22.     for(i=0;(i<N-1) && (check_value[i]!='1');i++);  
  23.         if(i<N-1)  
  24.             printf("\nError detected\n\n");  
  25.         else  
  26.             printf("\nNo error detected\n\n");  
  27. }  
  28.   
  29. void crc(){  
  30.     for(i=0;i<N;i++)  
  31.         check_value[i]=data[i];  
  32.     do{  
  33.         if(check_value[0]=='1')  
  34.             XOR();  
  35.         for(j=0;j<N-1;j++)  
  36.             check_value[j]=check_value[j+1];  
  37.         check_value[j]=data[i++];  
  38.     }while(i<=data_length+N-1);  
  39. }  
  40.   
  41. int main()  
  42. {  
  43.     printf("\nEnter data to be transmitted: ");  
  44.     scanf("%s",data);  
  45.     printf("\n Enter the Generating polynomial: ");  
  46.     scanf("%s",gen_poly);  
  47.     data_length=strlen(data);  
  48.     for(i=data_length;i<data_length+N-1;i++)  
  49.         data[i]='0';  
  50.     printf("\n----------------------------------------");  
  51.     printf("\n Data padded with n-1 zeros : %s",data);  
  52.     printf("\n----------------------------------------");  
  53.     crc();  
  54.     printf("\nCRC or Check value is : %s",check_value);  
  55.     for(i=data_length;i<data_length+N-1;i++)  
  56.         data[i]=check_value[i-data_length];  
  57.     printf("\n----------------------------------------");  
  58.     printf("\n Final data to be sent : %s",data);  
  59.     printf("\n----------------------------------------\n");  
  60.     receiver();  
  61.         return 0;  
  62. }  

Editor

You can edit this paste and save as new:


File Description
  • le code
  • Paste Code
  • 02 Jun-2023
  • 1.8 Kb
You can Share it: