poj3213—矩阵乘法问题java
时间: 2023-04-23 21:02:12 浏览: 289
矩阵连乘问题java
5星 · 资源好评率100%
这道题是一个矩阵乘法问题,需要用Java语言来实现。
首先,我们需要读入两个矩阵的大小和元素,然后进行矩阵乘法运算。具体实现可以使用两个二维数组来存储矩阵,然后使用三重循环来进行乘法运算。
在进行乘法运算时,需要注意矩阵乘法的规则,即第一个矩阵的行数等于第二个矩阵的列数。因此,我们需要在循环中对两个矩阵的行列进行匹配。
最后,输出结果矩阵即可。
以下是Java代码示例:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] a = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
a[i][j] = sc.nextInt();
}
}
int p = sc.nextInt();
int q = sc.nextInt();
int[][] b = new int[p][q];
for (int i = 0; i < p; i++) {
for (int j = 0; j < q; j++) {
b[i][j] = sc.nextInt();
}
}
if (m != p) {
System.out.println("Error: " + m + " != " + p);
return;
}
int[][] c = new int[n][q];
for (int i = 0; i < n; i++) {
for (int j = 0; j < q; j++) {
for (int k = 0; k < m; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
System.out.println(n + " " + q);
for (int i = 0; i < n; i++) {
for (int j = 0; j < q; j++) {
System.out.print(c[i][j] + " ");
}
System.out.println();
}
}
}
阅读全文