1、没有旋转,两个元素对应位置的值相等。
2、旋转90度,a[n - 1 - j][i] == b[i][j]。
3、旋转180度,a[n - 1 - i][n - 1 - j] == b[i][j]。
4、旋转270度,a[j][n - 1 - i] == b[i][j]。
1、旋转矩阵 (数组)
题目: 给出一个n*m的整数矩阵,请你把这个矩阵顺时针旋转90°以后输出
输入格式:
第一行输入两个整数n,m(1<=n,m<=200),用空格分开
接下来n行,每行输入m个整数,表示输入的矩阵。矩阵中的元素都是int范围内的整数。
输出格式:
输入m行,每行n个空格隔开的整数,表示旋转以后的矩阵。注意:每行末尾不能输出多余的空格。
样例输入
3 4
-1 3 6 3
7 7 9 1
10 3 4 6
样例输出
10 7 -1
3 7 3
4 9 6
6 1 3
#include<iostream>
const int MaxSize = 201;
int m, n;
int arr[MaxSize][MaxSize];
int main()
{
std::cin >> n >> m;
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < m; ++j)
std::cin >> arr[i][j];
}
//交换行数列数
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
{
if (j == n - 1)
std::cout << arr[n - j - 1][i] << std::endl;
else
std::cout << arr[n - j - 1][i] << " ";
}
return 0;
}