1. 程式人生 > >計蒜客:矩陣旋轉

計蒜客:矩陣旋轉

問題:

給出一個 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;
}