Java程式用於減去兩個矩陣


對於兩個給定的每個大小為m×n的矩陣,編寫一個Java程式來減去它們。矩陣具有其元素的行和列排列。具有m行和n列的矩陣可以稱為m×n矩陣。矩陣中的單個條目稱為元素,可以用a[i][j]表示,這意味著元素a位於第i行和第j列。

請注意,只有當每個矩陣的行數和列數相等時,才能減去兩個矩陣。現在,讓我們透過一個示例場景來理解問題陳述。

示例場景

Input 1: matrix1 = {{2, 3, 4}, {5, 2, 3}, {4, 6, 9}}
Input 2: matrix2 = {{1, 5, 3}, {5, 6, 3}, {8, 1, 5}}
Output: res = {{1, -2, 1}, {0, -4, 0}, {-4, 5, 4}}  

使用巢狀 for 迴圈

在這種方法中,使用外部 for 迴圈迭代兩個矩陣的每個元素,並使用內部 for 迴圈將第一個矩陣的 [i][j] 位置處的元素減去第二個矩陣的 [i][j] 位置處的元素,並將值儲存在結果矩陣的 [i][j] 位置。

示例

在此 Java 程式中,我們使用巢狀 for 迴圈來減去兩個矩陣。

public class Tester {
   public static void main(String args[]) {
      //matrix 1
      int a[][] = { { 1, 3, 4 }, { 2, 4, 3 }, { 3, 4, 5 } };
      //matrix 2
      int b[][] = { { 1, 3, 4 }, { 2, 4, 3 }, { 1, 2, 4 } };
      //result matrix with 3 rows and 3 columns
      int c[][] = new int[3][3];
	  System.out.println("The result after subtraction of the given matrices is:");
      // subtract and print matrix
      for (int i = 0; i < 3; i++) {
         for (int j = 0; j < 3; j++) {
            c[i][j] = a[i][j] - b[i][j];
            System.out.print(c[i][j] + " ");
         }
         System.out.println();
      }
   }
}

以上程式碼的輸出如下:

The result after subtraction of the given matrices is:
0 0 0 
0 0 0 
2 2 1 

使用巢狀 while 迴圈

這是在 Java 中減去兩個矩陣的另一種方法。在這裡,我們在巢狀 for 迴圈的位置使用巢狀 while 迴圈。該實現使用與上一個示例相同的邏輯。

示例

在這裡,我們使用巢狀 while 迴圈在 Java 中減去兩個矩陣。

public class SubtractMatrices {
   public static void main(String args[]) {
      int mtr1[][] = { {1, 7}, {9, 2} };
      int mtr2[][] = { {6, 3}, {5, 1} };
      int subtract[][] = new int[2][2];
      int matrix_size = 2;
      System.out.println("First matrix defined as::");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(mtr1[i][j] + "\t");
         }
         System.out.println();
      }
      
      System.out.println("Second matrix defined as::");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(mtr2[i][j] + "\t");
         }
         System.out.println();
      }
      
      int i = 0;
      while(i < matrix_size) {
         int j = 0;
         while(j < matrix_size) {
            subtract[i][j] = mtr1[i][j] - mtr2[i][j]; 
            j++;
         }
         i++;
      }
      
      System.out.println("Difference betwen given matrices is:: ");
      i = 0;
      while(i < matrix_size) {
         int j = 0;
         while(j < matrix_size) {
            System.out.print(subtract[i][j] + "\t");
            j++;
         }
         System.out.println();
         i++;
      }
   }
}

執行以上程式碼後,將顯示以下輸出:

First matrix defined as::
1	7	
9	2	
Second matrix defined as::
6	3	
5	1	
Difference betwen given matrices is:: 
-5	4	
4	1

更新於: 2024年9月13日

857 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.