#include #include "graph_holder.h" #include extern char find_row(char *matrix, int m, int n, char *row); void gen_synd(int *parmat,char *syndrome_tab,char *err_pat) { int i,j,ind1,ind2,ind3; int q=0; char temp_r[10]; memset(err_pat,0, 1024*31 * sizeof(char)); memset(syndrome_tab,0, 10 * sizeof(char)); for(i=1;i<32;i++) { err_pat[31*i-1+i]=1; for(j=0;j<10;j++) syndrome_tab[i*10+j]=parmat[j*31+i-1]; } i=32; for(ind1=0;ind1<31-1;ind1++) { for(ind2=ind1+1;ind2<31;ind2++) { err_pat[i*31+ind1]=1; err_pat[i*31+ind2]=1; for(j=0;j<10;j++) { syndrome_tab[i*10+j] = (parmat[j*31+ind1]+parmat[j*31+ind2])%2; } i++; } } for(ind1=0;ind1<31-2;ind1++) { for(ind2=ind1+1;ind2<31-1;ind2++) { for(ind3=ind2+1;ind3<31;ind3++) { //std::cout << "\n i = " << i; for(j=0;j<10;j++) { temp_r[j] = (parmat[j*31+ind1]+parmat[j*31+ind2]+parmat[j*31+ind3])%2; } if (find_row(syndrome_tab,i,10,temp_r)==0) { for(j=0;j<10;j++) syndrome_tab[i*10+j]=temp_r[j]; err_pat[i*31+ind1]=1; err_pat[i*31+ind2]=1; err_pat[i*31+ind3]=1; i++; } if (syndrome_tab[9]==1) { q++; } if(q==1) { std::cout << "\n First line changed!"; std::cout << "\n i = " <