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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP