Matrix 每个矩阵元素相互作用

Matrix 每个矩阵元素相互作用,matrix,Matrix,伙计们,我有下面的矩阵m[3][3],我想得到以下结果: (0,0)*(0,1) (0,0)*(0,2) (0,0)*(1,0) (0,0)*(1,1) (0,0)*(1,2) (0,0)*(2,0) (0,0)*(2,1) (0,0)*(2,2) (0,1)*(0,2) (0,1)*(1,0) (0,1)*(1,1) (0,1)*(1,2) (0,1)*(2,0) (0,1)*(2,1) (0,1)*(2,2) 直到 (2,0)*(2,1) (2,0)*(2,2) (2,1)*(2

伙计们,我有下面的矩阵m[3][3],我想得到以下结果:

(0,0)*(0,1)
(0,0)*(0,2)
(0,0)*(1,0)
(0,0)*(1,1)
(0,0)*(1,2)
(0,0)*(2,0)
(0,0)*(2,1)
(0,0)*(2,2)


(0,1)*(0,2)
(0,1)*(1,0)
(0,1)*(1,1)
(0,1)*(1,2)
(0,1)*(2,0)
(0,1)*(2,1)
(0,1)*(2,2)


直到
(2,0)*(2,1)
(2,0)*(2,2)


(2,1)*(2,2)


谢谢你

>我已经用C++编写了这个,但是我确信它很容易移植到其他语言,因为我没有使用任何特殊的特性。p> 我不确定这是否是最有效的方法,但这肯定会奏效

for( int i = 0; i < 9; i++ )
{
    for( int j = i; j < 9; j++ )
    {
        int x0 = i % 3;
        int y0 = i / 3;

        int x1 = j % 3;
        int y1 = j / 3;

        if( x0 == x1 && y0 == y1 )
            continue;

        printf( "%i %i %i %i\n", y0, x0, y1, x1 );
    }
}
for(int i=0;i<9;i++)
{
对于(int j=i;j<9;j++)
{
int x0=i%3;
int y0=i/3;
int-x1=j%3;
int y1=j/3;
如果(x0==x1&&y0==y1)
继续;
printf(“%i%i%i%i\n”,y0,x0,y1,x1);
}
}
这个问题被称为握手问题,房间里的每个人都想和房间里的每个人握手


我必须添加if语句以防止元素握手。

我运行了该语句,但我不确定,有9C2的组合,显然结果应该是36,但它是24。不知道您的实现和需要,尽管我非常确定我的输出是正确的,但请检查这里,这正是您要求的。