矩阵翻转输出
题目描述:
输入格式:
输出格式:
输出包括 m 行,每行包含 n 个整数,按要求输出翻转后的矩阵,每行任意两个整数之间用一个空格分隔,每行最后一个整数后面没有空格。
样例输入1:
2 3
1 2 3
3 4 6
1
样例输出1
3 2 1
6 4 3
样例输入2
3 2
1 2
3 4
5 6
0
样例输出2
5 6
3 4
1 2
代码如下:
#include <iostream>
#include <cmath>
using namespace std;
#define MAX_N 100
int arr[MAX_N + 5][MAX_N + 5];
int main() {
int n, m, a;
cin >> m >> n;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> arr[i][j];
}
}
cin >> a;
if (a) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < n / 2; j++) {
swap(arr[i][j], arr[i][n - j - 1]);
}
}
} else {
for (int i = 0; i < m / 2; i++) {
for (int j = 0; j < n; j++) {
swap(arr[i][j], arr[m - i - 1][j]);
}
}
}
for (int i = 0; i < m; i++) {
cout << arr[i][0];
for (int j = 1; j < n; j++) {
cout << " " << arr[i][j];
}
cout << endl;
}
return 0;
}