www.pudn.com > xunhuanma.rar > xunhuan.cpp
#includeconst int n=7,k=3,r=n-k; void encodeh(int m[],int h[],int c[]); void encodeg(int m[],int g[],int c[]); void decode_1err(int r[],int g[],int c[]); void main() { int g[r+1]={1,0,1,1,1}; int h[k+1]={1,0,1,1}; int m[k]={1,0,1}; int c[n]={0}; int i=0; cout<<"(n,k)="< =1;l--) { w[l]=w[l-1]; } w[0]=s; } } void encodeg(int m[],int g[],int c[]) { int w[r+1]={0}; //registers clear to 0; int i=0; int m_temp=0; for(i=0;i<=k-1;i++) { c[i]=m[i]; m_temp=(w[n-k-1]+m[i])%2; for(int j=0;j<=n-k-1;j++) { if(j==n-k-1) { w[0]=m_temp; } else{ w[n-k-1-j]=(m_temp*g[1+j]+w[n-k-1-j-1])%2; } } } for(i=0;i<=n-k-1;i++) { c[k+i]=w[n-k-1-i]; } } void decode_1err(int r[],int g[],int c[]) { int m[k]={0}; m[0]=1; int c1[n]={0}; encodeg(m,g,c1); int s[n-k]={0}; for(int index=0;index