1 条题解
-
0
/* 这个问题其实就是矩阵转置后,再把每一行进行反转。 先简述一下思路: 首先我们需要输入图像,可以使用一个二维数组来表示这个图像。 旋转图像,就相当于将二维数组进行转置。在转置后的矩阵中,第i行第j列的元素在原矩阵中是第j行第i列的。 转置后的矩阵还需要把每一行反转一下,这样就完成了旋转90度的操作。 输出转置和反转后的矩阵,即为最终结果。 以下是一个实现这个思路的C++代码: */ #include<iostream> using namespace std; int main(){ int n, m; cin >> n >> m; int image[n][m]; // 输入图像 for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) cin >> image[i][j]; // 旋转图像:先转置再反转每一行 int rotated[m][n]; for(int i = 0; i < m; i++) for(int j = 0; j < n; j++) rotated[i][j] = image[n-1-j][i]; // 输出旋转后的图像 for(int i = 0; i < m; i++){ for(int j = 0; j < n; j++) cout << rotated[i][j] << " "; cout << endl; } return 0; }
- 1
信息
- ID
- 252
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 3
- 已通过
- 1
- 上传者