C++将矩阵旋转90°输出
时间: 2024-12-06 17:27:00 浏览: 27
RotateFont_Bitmap字体90度旋转程序_
在C++中,你可以通过多种算法实现矩阵顺时针旋转90度。一种常见的方法是使用二维数组的特性,不需要创建新的矩阵,而是直接交换行和列的数据。以下是一个简单的步骤:
1. 定义一个二维整型数组(或动态数组),用于存储矩阵数据。
2. 获取矩阵的行数(m)和列数(n)。
3. 使用嵌套循环,外层遍历每一行,内层遍历该行的列,从右到左开始,将当前元素保存到临时位置,然后将该临时位置的值移动到当前位置(相当于上一行的当前列)。
例如,对于一个4x4矩阵:
```cpp
void rotateMatrix(int matrix[4][4]) {
int m = 4, n = 4;
for (int i = 0; i < m; ++i) {
for (int j = n - 1; j >= i; --j) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i]; // 交换(i, j)和(j, i)
matrix[j][i] = temp;
}
}
}
// 示例:
int main() {
int mat[4][4] = { {1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16} };
rotateMatrix(mat);
// 输出旋转后的矩阵...
}
```
阅读全文