计蒜客:矩阵旋转

问题:

给出一个 n × m n\times m 的整数矩阵,请你把这个矩阵顺时针旋转 9 0 o 90^{o} 以后输出。

输入格式:
第一行输入两个整数 n , m ( 1 n , m 200 ) n,m(1 \le n, m\le 200) ,用空格隔开。
接下来 n n 行,每行输入 m m 个整数,表示输入的矩阵。
矩阵中元素都是 int 范围内的整数。

输出格式:
输入 m m 行,每行 n 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>
using namespace std;
const int N = 205;
int main(void) 
{
	int n, m;
	int a[N][N];
	cout << "请输入行和列:";
	cin >> n >> m;
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++)
			cin >> a[i][j];
	cout << "转换后的矩阵为:" << endl;
	for (int i = 0; i < m; i++) 
	{
		for (int j = n - 1; j >= 0; j--) 
		{
			if (j != n - 1)
				cout << " ";
			cout << a[j][i];
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41918107/article/details/86373838