矩阵转置
题目描述
输入一个 n n n 行 m m m 列的矩阵 A A A,输出它的转置 A T A^T AT。
输入格式
第一行包含两个整数 n n n 和 m m m,表示矩阵 A A A 的行数和列数。 1 ≤ n ≤ 100 1 \le n \le 100 1≤n≤100, 1 ≤ m ≤ 100 1 \le m \le 100 1≤m≤100。
接下来 n n n 行,每行 m m m 个整数,表示矩阵 A A A 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1 ∼ 1000 1 \sim 1000 1∼1000 之间。
输出格式
m m m 行,每行 n n n 个整数,为矩阵 A A A 的转置。相邻两个整数之间用单个空格隔开。
样例 #1
样例输入 #1
3 3
1 2 3
4 5 6
7 8 9
样例输出 #1
1 4 7
2 5 8
3 6 9
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//堆/优先队列
// #include <queue>//队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[110][110];
int main()
{
ll n,m;
cin>>n>>m;
for(ll i=1;i<=n;i++)
for(ll j=1;j<=m;j++)
cin>>a[i][j];
for(ll i=1;i<=m;i++)
{
for(ll j=1;j<=n;j++)
cout<<a[j][i]<<" ";
cout<<endl;
}
return 0;
}