【问题标题】:Divide matrix into n matrices将矩阵划分为 n 个矩阵
【发布时间】:2017-05-14 18:53:11
【问题描述】:

我有一个 N x N 矩阵(随机生成)。

我需要把它分成C个矩阵(C是用户提供的矩阵个数)。

例如,如果我们的 4 X 4 矩阵是:

0     5     6     9
3     0     1     3
8     1     0     2
9     2     4     0

并且用户输入 2 作为 C,那么结果应该是:

Matrix 1
    0     5     6     9
    3     0     1     3

Matrix 2
    8     1     0     2
    9     2     4     0

【问题讨论】:

  • 打印矩阵1的逻辑是什么????
  • 必须明确吗?矩阵是如何存储的?
  • 我投票决定将此问题作为题外话结束,因为要求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作摘要以及对困难的描述你正在解决它。 Source
  • 我试图复制常规矩阵,尝试循环打印它,但不是这样,它显示了矩阵的一部分,请任何帮助,不胜感激
  • 致乔,我已经完成了大部分代码,这是其中的一部分,我无法添加我的代码,因为其他学生会使用它,我努力制作它跨度>

标签: java matrix divide


【解决方案1】:
public class TestMain {

    int[][] rr = new int[][]{
        {0, 5, 6, 9},
        {3, 0, 1, 3},
        {8, 1, 0, 2},
        {9, 2, 4, 0}};

    public TestMain() {
        getHalfMatrix(rr);
    }

    public void getHalfMatrix(int[][] mrix) {
        int st = (int) mrix.length / 2;
        System.out.print("Matrix1\n");
        for (int i = 0; i < st; i++) {
            for (int j = 0; j < mrix[0].length; j++) {
                System.out.print("\t" + mrix[i][j]);
            }
            System.out.print("\n");
        }
        System.out.print("Matrix2\n");
        for (int i = st; i < mrix.length; i++) {
            for (int j = 0; j < mrix[0].length; j++) {
                System.out.print("\t" + mrix[i][j]);
            }
            System.out.print("\n");
        }
    }

    public static void main(String[] args) {
        new TestMain();

    }

}

输出是:

Matrix1
    0   5   6   9
    3   0   1   3
Matrix2
    8   1   0   2
    9   2   4   0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多