www.pudn.com > Hm.zip > Hm.cpp
#include#include void hanming() { int i,n,k=2; int h[20]; for(i=0;i<20;i++)h[i]=0; cout<<"@@@@@@@@ 请输入要转换的有效位的位数(n)@@@@@@@@"< >n; while(pow(2,k) >h[i]; } h[1]=(h[3]+h[5]+h[7]+h[9]+h[11]+h[13]+h[15])%2; h[2]=(h[3]+h[6]+h[7]+h[10]+h[11]+h[14]+h[15])%2; h[4]=(h[5]+h[6]+h[7]+h[12]+h[13]+h[14]+h[15])%2; h[8]=(h[9]+h[10]+h[11]+h[12]+h[13]+h[14]+h[15])%2; for(i=1;i<=n+k;i++)cout< =5&&n<=7){ // k=3; p1=(h[1]+h[3]+h[5]+h[7])%2; p2=(h[2]+h[3]+h[6]+h[7])%2; p4=(h[4]+h[5]+h[6]+h[7])%2; m=4*p4+2*p2+p1; return m; } if(n>=9&&n<=15){ //k=4; p1=(h[1]+h[3]+h[5]+h[7]+h[9]+h[11]+h[13]+h[15])%2; p2=(h[2]+h[3]+h[6]+h[7]+h[10]+h[11]+h[14]+h[15])%2; p4=(h[4]+h[5]+h[6]+h[7]+h[12]+h[13]+h[14]+h[15])%2; p8=(h[8]+h[9]+h[10]+h[11]+h[12]+h[13]+h[14]+h[15])%2; m=8*p8+4*p4+2*p2+p1; return m; } else{ cout<<"!!!!查错错误!!!!"< >n; cout<<"请输入要查错的码字(每输入一位按一次回车) "< >h[i]; m=jiaoyan(h,n); if(m==0)cout<<"码字没有错误 "< >coco; }