输入一个 n 行 m 列的数字矩阵 A ,将数字矩阵顺时针旋转 90 度后输出。c++
时间: 2023-02-14 12:52:47 浏览: 80
可以使用如下 Python 代码实现:
```
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = [[0] * len(A) for i in range(len(A[0]))]
for i in range(len(A)):
for j in range(len(A[0])):
result[j][len(A) - 1 - i] = A[i][j]
print(result)
```
输入的 A 是一个 n 行 m 列的数字矩阵,顺时针旋转 90 度后的结果存储在 result 中。
相关问题
输入一个 n 行 m 列的数字矩阵 A ,将数字矩阵顺时针旋转 90 度后输出。 输入格式 第一行,两个整数 n 和 m 。 接下来 n 行,每行 m 个整数,代表数字矩阵。 输出格式 输出一个数字矩阵,代表输入矩阵顺时针旋转 90 度的结果。c++
下面是一个 Python 程序,实现了将输入的 n 行 m 列的数字矩阵顺时针旋转 90 度的功能:
```
def rotate_matrix(n, m, matrix):
# 创建新矩阵
new_matrix = [[0 for i in range(n)] for j in range(m)]
for i in range(n):
for j in range(m):
# 顺时针旋转 90 度
new_matrix[j][n-i-1] = matrix[i][j]
return new_matrix
n, m = map(int, input().split())
matrix = []
for i in range(n):
matrix.append(list(map(int, input().split())))
rotated_matrix = rotate_matrix(n, m, matrix)
for row in rotated_matrix:
print(" ".join(map(str, row)))
```
上述程序中,顺时针旋转 90 度的操作就是 new_matrix[j][n-i-1] = matrix[i][j] 。其中,new_matrix 为新矩阵, matrix 为原始矩阵。
矩阵顺时针旋转90度c++
使用以下代码实现矩阵顺时针旋转90度:
```c++
#include <iostream>
using namespace std;
const int N = 4;
class Array {
private:
int a[N][N];
public:
Array(int b[N][N]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
a[i][j] = b[i][j];
}
}
}
void rotate() {
for (int i = 0; i < N / 2; i++) {
for (int j = i; j < N - i - 1; j++) {
int temp = a[i][j];
a[i][j] = a[N - j - 1][i];
a[N - j - 1][i] = a[N - i - 1][N - j - 1];
a[N - i - 1][N - j - 1] = a[j][N - i - 1];
a[j][N - i - 1] = temp;
}
}
}
void print() {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
}
};
int main() {
int b[N][N] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};
Array arr(b);
arr.rotate();
arr.print();
return 0;
}
```