📄 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 + -