在C语言中只打印方子矩阵

在C语言中只打印方子矩阵,c,matrix,logic,C,Matrix,Logic,我有一个矩阵,我只想得到一个矩阵[nr,nc]的平方子矩阵,它有一个特定的维数“dim”。不过我也有不必要的 例如,我正确地得到了所有3x3子平方矩阵(当dim=3时): 1 2 3 567 9 0 1 但我也有一些多余的,我不想要的: 46 8 8 19 6 8 9 以下是我代码的迭代部分: for(int-iplus=0;iplus

我有一个矩阵,我只想得到一个矩阵[nr,nc]的平方子矩阵,它有一个特定的维数“dim”。不过我也有不必要的

例如,我正确地得到了所有3x3子平方矩阵(当dim=3时):

1 2 3

567

9 0 1

但我也有一些多余的,我不想要的:

46

8 8

19

6

8

9

以下是我代码的迭代部分:

for(int-iplus=0;iplus
也许可以更改您的外循环限制,这样您就不必检查(((i+iplus)。谢谢您的帮助!(我替换了nr-->nr dim+1 nc-->nc dim+1,不知怎么的,它起了作用。)
            for (int iplus = 0; iplus < nr; iplus++) {
                for (int jplus = 0; jplus < nc; jplus++) {
                    for (int i = 0; i < dim; i++) {
                        for (int j = 0; j < dim; j++) {
                            if (((i + iplus) < nr) && ((j + jplus) < nc)) {
                                printf("%d ", matrix[i + iplus][j + jplus]);
                            }
                        }
                        printf("\n");
                    }
                    printf("\n");
                }
            }