用C++编写一个程序,读入一个短阵,输出该矩阵以第一行第一列数字为中心,顺时针旋转90度后的新矩阵,
时间: 2024-12-16 19:16:43 浏览: 6
要使用C++编写一个程序来实现矩阵顺时针旋转90度,你可以参考以下代码:
```cpp
#include <iostream>
using namespace std;
#define N 3
void rotateMatrix(int a[N][N]) {
// 创建新矩阵b用于存储旋转后的结果
int b[N][N];
// 顺时针旋转矩阵
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
// 将原矩阵的对角线元素复制到新矩阵
b[j][N - i] = a[i][j];
}
}
// 打印旋转后的矩阵
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
cout << b[i][j] << " ";
}
cout << endl;
}
}
int main() {
int a[N][N];
// 读取输入矩阵
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
cin >> a[i][j];
}
}
// 旋转并打印矩阵
rotateMatrix(a);
return 0;
}
```
这个程序定义了一个`rotateMatrix`函数,它接受一个二维数组作为参数,然后通过两层嵌套循环实现矩阵的顺时针旋转,并将结果保存在另一个二维数组`b`中。最后,在主函数中读取输入矩阵并调用`rotateMatrix`函数显示旋转后的矩阵。
阅读全文