📄 分区分组配置.c
字号:
/* Note:Your choice is C IDE */
#include "stdio.h"
void fenpei(); /*用于信道分配*/
int panduan(); /*用于判断是否满足无三阶互调干扰*/
void printtt(); /*用于输出配置结果*/
int i,n,j,B[15],A[8][8],k,m,qq,pp=0;
main()
{
int pan;
fenpei();
pan=panduan();
while(pan==0)
{
fenpei();
pan=panduan();
}
printtt();
}
void fenpei()
{
srand(time(NULL));
for(i=0;i<12;i++)
{
n=rand()%12+1;
if(i==0)
B[i]=n;
for(j=0;j<i;j++)
{
if(B[j]==n)
{i--;
break;}
}
if(j==i)B[i]=n;
}
i=0;
for(k=0;k<3;k++)
for(m=0;m<4;m++)
{
A[k][m]=B[i];
i++;
}
}
int panduan()
{
for(k=0;k<3;k++)
for(m=0;m<4;m++)
{
if((2*A[k][m]==A[k][m%3]+A[k][(m+1)%3])||
(2*A[k][m]==A[k][m%3]+A[k][(m+2)%3])||
(2*A[k][m]==A[k][(m+1)%3]+A[k][(m+2)%3])||
(A[k][(m+1)%3]+A[k][m]==A[k][m%3]+A[k][(m+2)%3]))
{pp=1;
break;}
}
if(pp==1)qq=1;
else
qq=0;
return qq;
}
void printtt()
{
printf("distribute channel:\n");
printf("first section:");
for(m=0;m<4;m++)
{printf("%5d",A[0][m]);}
printf("\n");
printf("secon section:");
for(m=0;m<4;m++)
{printf("%5d",A[1][m]);}
printf("\n");
printf("third section:");
for(m=0;m<4;m++)
{printf("%5d",A[2][m]);}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -