蓝桥杯 矩阵加法 模拟

问题描述
  给定两个N×M的矩阵,计算其和。其中:
  N和M大于等于1且小于等于100,矩阵元素的绝对值不超过1000。
输入格式
  输入数据的第一行包含两个整数N、M,表示需要相加的两个矩阵的行数和列数。接下来2*N行每行包含M个数,其中前N行表示第一个矩阵,后N行表示第二个矩阵。
输出格式
  你的程序需要输出一个N*M的矩阵,表示两个矩阵相加的结果。注意,输出中每行的最后不应有多余的空格,否则你的程序有可能被系统认为是Presentation  Error
样例输入
2 2
1 2
3 4
5 6
7 8

样例输出

6 8
10 12
做过矩阵快速幂之后再做这一题。。开始就写了一个三层for循环,然后怎么改怎么不对。。
对不起我的线性代数老师,我混淆了矩阵的乘法和加法。
这道题直接两层for循环直接加就好了。
可耻的WA了两次。
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int a[110][110];
 4 int b[110][110];
 5 int main() {
 6     int n, m;
 7     cin >> n >> m;
 8     for (int i = 1; i <= n; i++) {
 9         for (int j = 1; j <= m; j++) {
10             cin >> a[i][j];
11         }
12     }
13     for (int i = 1; i <= n; i++) {
14         for (int j = 1; j <= m; j++) {
15             cin >> b[i][j];
16         }
17     }
18     for (int i = 1; i <= n; i++) {
19         for (int j = 1; j <= m; j++) {
20             a[i][j] += b[i][j];
21         }
22     }
23     for (int i = 1; i <= n; i++) {
24         for (int j = 1; j <= m; j++) {
25             if (j != m) {
26                 cout << a[i][j] << " ";
27             } else {
28                 cout << a[i][j] << endl;
29             }
30         }
31     }
32     return 0;
33 }


猜你喜欢

转载自www.cnblogs.com/fx1998/p/12691175.html