如何计算两两相交之数的个数
我编写了如下一段代码:#include <stdio.h>
int main()
{
int a[7][13]={{1,2,3,4,5,6,7,8,9,10,11,12,13},{5,5,5,5,5,5,5,5,5,5,5,5,5},{5,5,5,5,5,5,5,5,5,5,5,5,5},{5,5,5,5,5,5,5,5,5,5,5,5,5},{8,8,8,8,8,8,8,8,8,8,8,8,8},{5,5,5,5,5,5,5,5,5,5,5,5,5}, {8,8,8,8,8,8,8,8,8,8,8,8,8}};
int i,j,k=1;
for(i=0;i<7;i++)
{
for(j=0;j<13;j++)
printf("%d ",a[i][j]);
printf("\n");
}
for(i=1;i<7;i++)
{
if(a[i][0]==5)
{
k=k+1;
printf("a[%d][0] ",i);
}
}
printf("k=%d\n",k-1);
}
运行效果如图:
现在我想做一种计算:
元素“1”和2(指的是元素1下面第一行,因为2比1大1)相交的数是5.
元素“1”和3(指的是元素1下面第二行,因为3比1大2)相交的数是5.
元素“1”和4(指的是元素1下面第三行,因为4比1大3)相交的数是5.
元素“1”和6(指的是元素1下面第五行,因为6比1大5)相交的数是5.
和1相交其值为5的就2,3,4,6,
那么这四个数(2,3,4,6)之间是不是两两相交的数也是5呢?
计算方法照旧:
元素“2”和3(指的是元素2下面第一行,因为3比2大1)相交的数是5.
元素“2”和4(指的是元素2下面第二行,因为4比2大2)相交的数是5.
元素“2”和6(指的是元素2下面第四行,因为6比2大4)相交的数是8.
这里和2相交其值为5的就是3和4了,6就被排除了。
又来计算最后一步了,就剩下3和4了。
元素“3”和4(指的是元素3下面第一行,因为4比3大1)相交的数是5.
所以最后得出结论:两两相交的值为5的数和1有关的数共4个(1,2,3,4)。
最终的目的就是为了计算这两两相交之数的个数4。请问该怎么修改我上面的代码呢?