矩阵转置(信息学奥赛一本通-1126)

【题目描述】

输入一个n行m列的矩阵A,输出它的转置AT。

【输入】

第一行包含两个整数n和m,表示矩阵A的行数和列数(1<=n<=100,1<=m<=100)。

接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。

【输出】

m行,每行n个整数,为矩阵A的转置。相邻两个整数之间用单个空格隔开。

【输入样例】

3 3
1 2 3
4 5 6
7 8 9

【输出样例】

1 4 7
2 5 8
3 6 9

【题解代码】

#include
using namespace std;

const int N = 1e2 + 10;
int nums[N][N];

int main()
{
	int n, m; cin >> n >> m;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			cin >> nums[i][j];
		}
	}
	for (int i = 1; i <= m; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			cout << nums[j][i] << ' ';
		}
		cout << endl;
	}

	return 0;
}

你可能感兴趣的:(信息学奥赛一本通,算法)