控制3×3矩阵是否在N×N矩阵中,其中N> = 3

时间:2017-03-30 17:09:51

标签: java arrays scala matrix multidimensional-array

这是我的意思的一个例子。

我有两个多维数组w和z。 z是3x3矩阵。 现在我想控制如果z是更大的多维数组w的一部分。 像z =(1,2,3),         (1,2,3),         (1,2,3)

w =(4,7,1,2,3)    (7,8,1,2,3)    (9,0,1,2,3)    (8,1,5,3,6)    (4,6,6,6,6)

在这种情况下,我的功能会给我一个真实的。 我知道如何访问所有元素和单行和列。 有人能给我一点正确的方向吗? 我的尝试

1 个答案:

答案 0 :(得分:0)

如果存在3x3阶的子矩阵,则返回1的函数,否则返回0.

int submatrixcheck(int a[][10],int b[3][3],int n)
{
    int i,j,k,l,p=0;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            if( (a[i][j] == b[0][0]) && i<(n-4) && (j<n-4))
            {
                for(k = 0;k<3;k++)
                    for(l= 0;l<3;l++)
                        if(a[i+k][j+l]!=b[k][l])
                        {
                            p=1;
                            goto c;
                        }

                if(p==0)
                   return 1;
                c:
            }
    return 0;

}