c++二维数组旋转180
时间: 2023-11-18 11:50:57 浏览: 103
二维数组习题讲解ppt
对一个二维数组进行旋转180度,可以按照以下步骤进行操作:
1. 首先,创建一个新的二维数组b[x][x],其中x是原数组的行数和列数中的较大值。
2. 然后,遍历原数组的每个元素,将其按照旋转180度的规则放入新数组中。具体规则是:新数组的第i行第j列的元素是原数组的第n-1-i行第m-1-j列的元素,其中n是原数组的行数,m是原数组的列数。
3. 最后,遍历新数组,按照相应格式输出旋转后的二维数组。
下面是一个示例代码,可以实现对二维数组进行180度旋转:
#include <iostream>
#define N 105
using namespace std;
void Rotate180(int a[N][N], int n, int m) {
int x = n > m ? n : m;
int b[N][N];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
b[i][j] = a[n-1-i][m-1-j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << b[i][j] << " ";
}
cout << endl;
}
}
int main() {
int n, m;
int a[N][N];
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> a[i][j];
}
}
Rotate180(a, n, m);
return 0;
}
阅读全文