【问题标题】:Finding all submatrixes of a given matrix查找给定矩阵的所有子矩阵
【发布时间】:2014-02-05 11:59:46
【问题描述】:

我有一个包含整数矩阵的二维向量,如下所示:

    vector<vector<int>> Members;

我试图找到一种方法来提取 NxN 矩阵的每个可能的子矩阵。

例如,如果我有一个 2x2 矩阵:

    0 -2
    9  2

它会输出:

    0

   -2

    9

    2

    0
    9

   -2
    2

    0 -2
    9  2

【问题讨论】:

  • 什么是二维向量?是std::vectorN*N 大小吗?
  • 猜猜你的输出也包含两个行矩阵。

标签: c++ matrix multidimensional-array


【解决方案1】:

子矩阵取决于左上点和右下点,所以你可以给所有可能的位置,并像这样一一打印出来:

//data stored in mat[max][max]
int max=5;//size of matrix
int i,j,m,n;

for(i=0;i<=max-1;i++)
    for(j=0;j<=max-1;j++)
        for(m=i;m<=max-1;m++)
            for(n=j;n<=max-1;j++)
                print(i,j,m,n);//a simple function    

【讨论】:

    最近更新 更多