68 lines
1.6 KiB
C++
68 lines
1.6 KiB
C++
#include <bits/stdc++.h>
|
||
|
||
using namespace std;
|
||
typedef long long LL;
|
||
const int N = 110;
|
||
int n = 3;
|
||
|
||
//两个n*n的矩阵
|
||
/*
|
||
z[][N]:结果数组
|
||
C++中,如果传递的函数参数是数组,则理解为按地址传递,
|
||
在函数内的修改动作将直接修改数组内容,调用者可以直接
|
||
使用修改后的内容。
|
||
不论是几维的多维数组,只有第一维的长度不用指定,其它都要指定。
|
||
黄海理解一下:
|
||
因为多维数组在内存中是连续存的,C++需要知道你给的这个指针,到哪个位置开始换行。
|
||
*/
|
||
void add(LL z[][N], LL x[][N], LL y[][N]) {
|
||
for (int i = 1; i <= n; i++)
|
||
for (int j = 1; j <= n; j++)
|
||
z[i][j] = x[i][j] + y[i][j];
|
||
}
|
||
void dec(LL z[][N], LL x[][N], LL y[][N]) {
|
||
for (int i = 1; i <= n; i++)
|
||
for (int j = 1; j <= n; j++)
|
||
z[i][j] = x[i][j] - y[i][j];
|
||
}
|
||
/*
|
||
测试用例
|
||
1 2 3
|
||
1 2 3
|
||
1 2 3
|
||
|
||
4 5 6
|
||
4 5 6
|
||
4 5 6
|
||
|
||
输出结果:
|
||
5 7 9
|
||
5 7 9
|
||
5 7 9
|
||
*/
|
||
|
||
LL x[N][N], y[N][N], z[N][N];
|
||
int main() {
|
||
for (int i = 1; i <= n; i++)
|
||
for (int j = 1; j <= n; j++)
|
||
cin >> x[i][j];
|
||
|
||
for (int i = 1; i <= n; i++)
|
||
for (int j = 1; j <= n; j++)
|
||
cin >> y[i][j];
|
||
|
||
add(z, x, y);
|
||
for (int i = 1; i <= n; i++) {
|
||
for (int j = 1; j <= n; j++)
|
||
cout << z[i][j] << " ";
|
||
cout << endl;
|
||
}
|
||
|
||
dec(z, x, y);
|
||
for (int i = 1; i <= n; i++) {
|
||
for (int j = 1; j <= n; j++)
|
||
cout << z[i][j] << " ";
|
||
cout << endl;
|
||
}
|
||
return 0;
|
||
} |