📄 juanjima.c
字号:
case 201:
s0=((t10=s0_02+s0_01+s00)>(t20=s1_02+s1_01+s20)?t10:t20);
s1=((t11=s1_02+s1_01+s00)>(t21=s0_02+s0_01+s20)?t11:t21);
s2=((t12=s1_02+s0_01+s10)>(t22=s0_02+s1_01+s30)?t12:t22);
s3=((t13=s0_02+s1_01+s10)>(t23=s1_02+s0_01+s30)?t13:t23);
break;
case 202:
s0=((t10=s0_02+s0_02+s00)>(t20=s1_02+s1_02+s20)?t10:t20);
s1=((t11=s1_02+s1_02+s00)>(t21=s0_02+s0_02+s20)?t11:t21);
s2=((t12=s1_02+s0_02+s10)>(t22=s0_02+s1_02+s30)?t12:t22);
s3=((t13=s0_02+s1_02+s10)>(t23=s1_02+s0_02+s30)?t13:t23);
break;
case 211:
s0=((t10=s0_02+s0_11+s00)>(t20=s1_02+s1_11+s20)?t10:t20);
s1=((t11=s1_02+s1_11+s00)>(t21=s0_02+s0_11+s20)?t11:t21);
s2=((t12=s1_02+s0_11+s10)>(t22=s0_02+s1_11+s30)?t12:t22);
s3=((t13=s0_02+s1_11+s10)>(t23=s1_02+s0_11+s30)?t13:t23);
break;
case 212:
s0=((t10=s0_02+s0_12+s00)>(t20=s1_02+s1_12+s20)?t10:t20);
s1=((t11=s1_02+s1_12+s00)>(t21=s0_02+s0_12+s20)?t11:t21);
s2=((t12=s1_02+s0_12+s10)>(t22=s0_02+s1_12+s30)?t12:t22);
s3=((t13=s0_02+s1_12+s10)>(t23=s1_02+s0_12+s30)?t13:t23);
break;
case 1101:
s0=((t10=s0_11+s0_01+s00)>(t20=s1_11+s1_01+s20)?t10:t20);
s1=((t11=s1_11+s1_01+s00)>(t21=s0_11+s0_01+s20)?t11:t21);
s2=((t12=s1_11+s0_01+s10)>(t22=s0_11+s1_01+s30)?t12:t22);
s3=((t13=s0_11+s1_01+s10)>(t23=s1_11+s0_01+s30)?t13:t23);
break;
case 1102:
s0=((t10=s0_11+s0_02+s00)>(t20=s1_11+s1_02+s20)?t10:t20);
s1=((t11=s1_11+s1_02+s00)>(t21=s0_11+s0_02+s20)?t11:t21);
s2=((t12=s1_11+s0_02+s10)>(t22=s0_11+s1_02+s30)?t12:t22);
s3=((t13=s0_11+s1_02+s10)>(t23=s1_11+s0_02+s30)?t13:t23);
break;
case 1111:
s0=((t10=s0_11+s0_11+s00)>(t20=s1_11+s1_11+s20)?t10:t20);
s1=((t11=s1_11+s1_11+s00)>(t21=s0_11+s0_11+s20)?t11:t21);
s2=((t12=s1_11+s0_11+s10)>(t22=s0_11+s1_11+s30)?t12:t22);
s3=((t13=s0_11+s1_11+s10)>(t23=s1_11+s0_11+s30)?t13:t23);
break;
case 1112:
s0=((t10=s0_11+s0_12+s00)>(t20=s1_11+s1_12+s20)?t10:t20);
s1=((t11=s1_11+s1_12+s00)>(t21=s0_11+s0_12+s20)?t11:t21);
s2=((t12=s1_11+s0_12+s10)>(t22=s0_11+s1_12+s30)?t12:t22);
s3=((t13=s0_11+s1_12+s10)>(t23=s1_11+s0_12+s30)?t13:t23);
break;
case 1201:
s0=((t10=s0_12+s0_01+s00)>(t20=s1_12+s1_01+s20)?t10:t20);
s1=((t11=s1_12+s1_01+s00)>(t21=s0_12+s0_01+s20)?t11:t21);
s2=((t12=s1_12+s0_01+s10)>(t22=s0_12+s1_01+s30)?t12:t22);
s3=((t13=s0_12+s1_01+s10)>(t23=s1_12+s0_01+s30)?t13:t23);
break;
case 1202:
s0=((t10=s0_12+s0_02+s00)>(t20=s1_12+s1_02+s20)?t10:t20);
s1=((t11=s1_12+s1_02+s00)>(t21=s0_12+s0_02+s20)?t11:t21);
s2=((t12=s1_12+s0_02+s10)>(t22=s0_12+s1_02+s30)?t12:t22);
s3=((t13=s0_12+s1_02+s10)>(t23=s1_12+s0_02+s30)?t13:t23);
break;
case 1211:
s0=((t10=s0_12+s0_11+s00)>(t20=s1_12+s1_11+s20)?t10:t20);
s1=((t11=s1_12+s1_11+s00)>(t21=s0_12+s0_11+s20)?t11:t21);
s2=((t12=s1_12+s0_11+s10)>(t22=s0_12+s1_11+s30)?t12:t22);
s3=((t13=s0_12+s1_11+s10)>(t23=s1_12+s0_11+s30)?t13:t23);
break;
case 1212:
s0=((t10=s0_12+s0_12+s00)>(t20=s1_12+s1_12+s20)?t10:t20);
s1=((t11=s1_12+s1_12+s00)>(t21=s0_12+s0_12+s20)?t11:t21);
s2=((t12=s1_12+s0_12+s10)>(t22=s0_12+s1_12+s30)?t12:t22);
s3=((t13=s0_12+s1_12+s10)>(t23=s1_12+s0_12+s30)?t13:t23);
}
qr=sumi/4;
if(s0==t10)
for(n=0;n<qr;n++)
{u0[n]=u00[n];
zhtai0[n]=zhtai01[n];
}
if(s0==t20)
for(n=0;n<qr;n++)
{u0[n]=u20[n];
zhtai0[n]=zhtai21[n];
}
if(s1==t11)
for(n=0;n<qr;n++)
{u1[n]=u00[n];
zhtai1[n]=zhtai01[n];
}
if(s1==t21)
for(n=0;n<qr;n++)
{u1[n]=u20[n];
zhtai1[n]=zhtai21[n];
}
if(s2==t12)
for(n=0;n<qr;n++)
{u2[n]=u10[n];
zhtai2[n]=zhtai11[n];
}
if(s2==t22)
for(n=0;n<qr;n++)
{u2[n]=u30[n];
zhtai2[n]=zhtai31[n];
}
if(s3==t13)
for(n=0;n<qr;n++)
{u3[n]=u10[n];
zhtai3[n]=zhtai11[n];
}
if(s3==t23)
for(n=0;n<qr;n++)
{u3[n]=u30[n];
zhtai3[n]=zhtai31[n];
}
u0[qr]=0;u1[qr]=1; zhtai0[n]=0;zhtai1[n]=1;
u2[qr]=0;u3[qr]=1; zhtai2[n]=2;zhtai3[n]=3;
for(n=0;n<=qr;n++)
{u00[n]=u0[n]; zhtai01[n]=zhtai0[n];
u10[n]=u1[n]; zhtai11[n]=zhtai1[n];
u20[n]=u2[n]; zhtai21[n]=zhtai2[n];
u30[n]=u3[n]; zhtai31[n]=zhtai3[n];
}
for(ld=0;ld<qr;ld++)
{if((zhtai0[ld]==zhtai1[ld])&&(zhtai2[ld]==zhtai3[ld])
&&(zhtai0[ld]==zhtai2[ld]))
continue;
else
break;
}
if(ld!=0)
{printf("\nThe decoded codes at present:\n");
for(n=0;n<ld;n++)
{printf("%2d",u0[n]);
}
printf("\nThe decoded code's lengths!");
}
else
printf("\nNo codes can be decoded!!");
printf("\n#ld=%d",ld);
getche();
}
if(s0>=s1)
s=s0;
else
s=s1;
if(s>=s2)
s=s;
else
s=s2;
if(s>=s3)
s=s;
else
s=s3;
if(s==s0)
for(n=0;n<qr;n++)
u0[n]=u00[n];
if(s==s1)
for(n=0;n<qr;n++)
u0[n]=u10[n];
if(s==s2)
for(n=0;n<qr;n++)
u0[n]=u20[n];
if(s==s3)
for(n=0;n<qr;n++)
u0[n]=u30[n];
//clrscr();
printf("\nTo be encoded codes:\n");
for(n=0;n<22;n++)
{printf("%3d",sm[n]);
}
printf("\nThe encoded codes:\n ");
for(i=0;i<22;i++)
{for(j=0;j<2;j++)
{ printf("%d",dbm0[i][j]);
}
printf(",");
}
printf("\nThe status when encoding:\n");
for(i=0;i<22;i++)
{
switch(zht[i]){
case 00:printf("s0");break;
case 01:printf("s1");break;
case 10:printf("s2");break;
case 11:printf("s3");break;
}
}
printf("\nThe very received codes:\n");
for(i=0;i<22;i++)
{for(j=0;j<4;j++)
{printf("%c",r2[4*i+j]);
}
printf(",");
}
printf("\nThe decoded codes:\n");
for (j=0;j<22;j++)
{printf("%2d",u0[j]);
sm[j]=u0[j];
}
bianma();
printf("\nThe status when decoding:\n");
for(i=0;i<22;i++)
{
switch(zht[i]){
case 00:printf("s0");break;
case 01:printf("s1");break;
case 10:printf("s2");break;
case 11:printf("s3");break;
}
}
printf("\nThe Euclidean spaces:\n%d",s);
getche();
}
bianma()
{
int s=00,s0=00,s1=01,s2=10,s3=11;
int i,l1,l2,ysm1,ysm2,mw,symble;
for(i=0;i<22;i++)
{
int j=0;
switch(s){
case 00:if(sm[i]==0)
{
s=s0;
zht[i]=00;
dbm[i][j]=0;
dbm[i][j+1]=0;
}
else
{s=s1;
zht[i]=01;
dbm[i][j]=1;
dbm[i][j+1]=1;
}
break;
case 01:if(sm[i]==0)
{
s=s2;
zht[i]=10;
dbm[i][j]=1;
dbm[i][j+1]=0;
}
else
{
s=s3;
zht[i]=11;
dbm[i][j]=0;
dbm[i][j+1]=1;
}
break;
case 10:if(sm[i]==0)
{
s=s0;
zht[i]=00;
dbm[i][j]=1;
dbm[i][j+1]=1;
}
else
{s=s1;
zht[i]=01;
dbm[i][j+1]=0;
dbm[i][j]=0;
}
break;
case 11:if(sm[i]==0)
{
s=s2;
zht[i]=10;
dbm[i][j]=0;
dbm[i][j+1]=1;
}
else
{
s=s3;
zht[i]=11;
dbm[i][j]=1;
dbm[i][j+1]=0;
}
break;
}
}
}
cuoma()
{
char c1,c2,szht[2],c3,c4;
int i,j,n,goon,cwwz,sjwz1,sjwz2;
printf("\nif there are wrong code,press key y,else,press any key.\n");
c1=getche();
if(c1=='y')
{
do{
printf("\ninput the wrong position:\n");
for(n=1;n<2;n++)
{scanf("%d",&cwwz);
if(cwwz>=1&&cwwz<=44)
break;
else
{ printf("\nWrong position!! Please input a number in 1 to 44\n");n--;
}}
printf("The very received codes of this position:\n");
c3=getche();
c4=getche();
for(n=1;n<3;n++)
{if(((c3!='0')&&(c3!='1'))||((c4!='1')&&(c4!='2')))
{printf("\nPlease input again:0-1 and 1-2!\n");
c3=getche();
c4=getche();n--;
}}
r2[2*(cwwz-1)]=c3;r2[2*cwwz-1]=c4;
printf("\nif there is another wrong code press key g to go on or press key q to exit\n");
for(n=1;n<2;n++)
{c2=getche();
switch(c2) {
case 'q':goon=0;break;
case 'g':goon=1;break;
default :printf("\nWrong select!!Please input again:g or q!\n");n--;
}
}
} while(goon==1);
}
getche();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -