?? ma.cpp
字號:
#include<stdio.h>
int main()
{
int i,j,k,min,w[8]={0};
int c[3][7]={1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,1,1,0,1};
int c1[7][3],d[4][7],d1[8][7];
for(i=0;i<4;i++)
for(j=0;j<7;j++)
d[i][j]=0;
for(i=0;i<8;i++)
for(j=0;j<7;j++)
d1[i][j]=0;
for(i=0;i<7;i++)
for(j=0;j<3;j++)
c1[i][j]=c[j][i];
for(i=0;i<4;i++)
{
d[i][i+3]=1;
for(j=0;j<3;j++)
d[i][j]=c1[i+3][j];
}
printf("校驗矩陣是:\n");
for(i=0;i<4;i++)
{
for(j=0;j<7;j++)
printf("%d ",d[i][j]);
printf("\n");
}
for(i=0;i<8;i++)
{
k=i;
for(j=2;j>=0;j--)
{
d1[i][j]=k%2;
k=k/2;
}
}
for(i=0;i<8;i++)
{
d1[i][3]=(d1[i][0]+d1[i][2])%2;
d1[i][4]=(d1[i][0]+d1[i][1]+d1[i][2])%2;
d1[i][5]=(d1[i][0]+d1[i][1])%2;
d1[i][6]=(d1[i][1]+d1[i][2])%2;
}
printf("輸出碼字是:\n");
for(i=0;i<8;i++)
{
for(j=0;j<7;j++)
printf("%d ",d1[i][j]);
printf("\n");
}
for(i=0;i<8;i++)
for(j=0;j<7;j++)
w[i]+=d1[i][j];
min= 10;
for(i=0;i<8;i++)
if(w[i]&&w[i]<min)
min=w[i];
printf("最小碼距為 %d",min);
while(1);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -