输入一个字符数组,把他旋转90°,输出旋转后的数组。c++代码
时间: 2024-01-01 11:04:05 浏览: 39
可以使用两次翻转来实现旋转90度。首先,将矩阵沿着主对角线翻转,然后再将矩阵沿着中心垂直线翻转。以下是C++代码实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
void rotate(vector<vector<char>>& matrix) {
int n = matrix.size();
// 沿主对角线翻转
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
swap(matrix[i][j], matrix[j][i]);
}
}
// 沿中心垂直线翻转
for (int j = 0; j < n / 2; j++) {
for (int i = 0; i < n; i++) {
swap(matrix[i][j], matrix[i][n-j-1]);
}
}
}
int main() {
vector<vector<char>> matrix = {
{'a', 'b', 'c'},
{'d', 'e', 'f'},
{'g', 'h', 'i'}
};
rotate(matrix);
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[0].size(); j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
g d a
h e b
i f c
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)