()一道作业题
(求助)一道作业题.
两个乒乓球队进行比赛,各出三人.甲队为A,B,C 人,乙队为X,Y,Z 三人.已抽签决定比赛名单.有人向队员打听比赛的名单,A说他不和X比,C说他不和X以及Z比,请编程找出3对赛手的名单.
------解决方案--------------------
1、定位组合数组 array1[3] = 'a ', 'b ', 'c '; array2[3] = 'x ', 'y ', 'z ';array3[3]
2、for(int i = 0; i < 3; ++i)
{
array3[0] = array2[i];
for(int j = 0; j < 3; ++j)
{
if(i ==j ) continue;
array3[1] = array2[j];
for(int k = 0; k < 3; ++k)
{
if(i ==k || j == k ) continue
array3[2] = array2[k];
//然后让array1与array3组合,出来一种比赛名单,合法则输出
}
}
}
------解决方案--------------------
bool array1[3];//表示是否有配对
memset(array,0,4);//初始化置零
int array[3][3];//连接
memset(array,0,16);//都置为0
array[1][1]=2;//A和X不连接
array[3][1]=2;
array[3][3]=2;//c和x,z不连接
n=0;
while(++n <=3)
{
for(i=1;i <=3;i++)
{
j=0;
while(++j <=3){if(array[i][j]==2)num++;}
if(num==2)
break;
}
j=0;
while(array[i][++j]){}
for(i=1;i <=3;i++)
{
array[i][j]=2;
}
}
array[i][j]==1的即为连接的比赛对
两个乒乓球队进行比赛,各出三人.甲队为A,B,C 人,乙队为X,Y,Z 三人.已抽签决定比赛名单.有人向队员打听比赛的名单,A说他不和X比,C说他不和X以及Z比,请编程找出3对赛手的名单.
------解决方案--------------------
1、定位组合数组 array1[3] = 'a ', 'b ', 'c '; array2[3] = 'x ', 'y ', 'z ';array3[3]
2、for(int i = 0; i < 3; ++i)
{
array3[0] = array2[i];
for(int j = 0; j < 3; ++j)
{
if(i ==j ) continue;
array3[1] = array2[j];
for(int k = 0; k < 3; ++k)
{
if(i ==k || j == k ) continue
array3[2] = array2[k];
//然后让array1与array3组合,出来一种比赛名单,合法则输出
}
}
}
------解决方案--------------------
bool array1[3];//表示是否有配对
memset(array,0,4);//初始化置零
int array[3][3];//连接
memset(array,0,16);//都置为0
array[1][1]=2;//A和X不连接
array[3][1]=2;
array[3][3]=2;//c和x,z不连接
n=0;
while(++n <=3)
{
for(i=1;i <=3;i++)
{
j=0;
while(++j <=3){if(array[i][j]==2)num++;}
if(num==2)
break;
}
j=0;
while(array[i][++j]){}
for(i=1;i <=3;i++)
{
array[i][j]=2;
}
}
array[i][j]==1的即为连接的比赛对