二维数组转置
输入一个n行m列的数组,输出他的转置,具体来说:
输出的第i行第j个数字,应是输入的第j行第i个数字。
1 <= n <= 100
1 <= m <= 100
1 <= aij <= 1000
Input
第一行两个整数n, m表示数组的行数和列数 接下来n行,每行m个整数表示数组内容。
Output
第一行先输出m, n。 接下来输出转置的结果,共m行n列。 其中第i行第j个数字,应是输入的第j行第i个数字。
Sample Input
3 2
1 2
3 4
5 6
Sample Output
2 3
1 3 5
2 4 6
AC代码:
#include<iostream>
using namespace std;
int main()
{
int m,n,a[100][100];
cin>>m>>n;
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
cin>>a[i][j];
cout<<n<<' '<<m<<endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
cout<<a[j][i]<<' ';//每一行没有要求不能有多余空格,所以可以这么写。
cout<<endl;
}
return 0;
}
永远相信美好🎈