1

私の教授は、2つの行列の間に「+」を付けてから「=」記号を付けて行列を並べて印刷することを望んでいます。結局、彼は私たちに行列を一緒に追加することを望んでいます。

これはこれまでの作業です。

したがって、結果は次のようになります。

1 2 3   9 8 7   10 10 10
4 5 6 + 6 5 4 = 10 10 10
7 8 9   3 2 1   10 10 10

enter code here public static void main(String[] args) {
    int matrix1[][] = {{1,2,3},{4,5,6},{6,7,8}};
    int matrix2[][] = {{9,8,7},{6,5,4},{3,2,1}};
    int result1;
    int[][] result2 = new int[2][3];


    for (int i = 0; i < matrix1.length; i++) {
        for (int j = 0; j < matrix1[0].length; j++) {
            System.out.printf(matrix1[i][j] + " ");
            System.out.print("");
        }
        System.out.println("");

    }

    for (int i = 0; i < matrix2.length; i++) {
        for (int j = 0; j < matrix2[0].length; j++) {
            System.out.printf(matrix2[i][j] + " ");

        }

    System.out.println("");



    }
}

私の問題は、どうすればソリューションと並べて印刷できるかということです。

4

2 に答える 2

1

マトリックスの 2 つの印刷ループを考えてみましょう。

for (int i = 0; i < matrix1.length; i++) {
    for (int j = 0; j < matrix1[0].length; j++) {
        System.out.printf(matrix1[i][j] + " ");
    }
    System.out.println("");
}

for (int i = 0; i < matrix2.length; i++) {
    for (int j = 0; j < matrix2[0].length; j++) {
        System.out.printf(matrix2[i][j] + " ");
    }
    System.out.println("");
}

それらはマトリックス1、次に2を出力するため、マトリックスは互いに下になります。

行列を並べて表示する場合は、すべての行列の 1 行目を出力し、新しい行の後にすべての行列の 2 行目を出力する必要があります。ループが行列を通過する方法を再配置することで、次のようになります。新しいレイアウト。

于 2013-01-25T15:50:04.557 に答える
0

残念ながら、一度に 1 つずつ印刷することはできません。行ごとに取得する必要があります。このソリューションでは、matrix1 と matrix2 の両方が同じ高さである必要があります。しかし、ここにあなたが始めるべきテンプレートがあります.

for (int i = 0; i < matrix1.length; i++) {
  for (int j = 0; j < matrix1[i].length; j++) {

  }

  if (i == matrix1/2) {

  } else {  //One part of if handles when "+" is needed, other one doesn't

  }

  for (int j = 0; j < matrix2[i].length; j++) {

  }

  if (i == matrix1/2) {

  }

  for (int j = 0; j < ???; j++) {

  }
}
于 2013-01-25T15:58:17.807 に答える