时间限制:1Sec内存限制:128MB通过:36提交:42
题目描述
输入N*N的方阵,输出它的转置方阵。
输入
第一行为整数N,接着是一个N*N的方阵。
输出
输出转置后的方阵。
样例输入
2
1 2
1 2
样例输出
1 1
2 2
提示
设A为m×n阶矩阵(即m行n列数列),第i行j列的元素是aij,即:A=(aij)m×n。定义A的转置为这样一个n×m阶矩阵B,满足B=(aji),即bij=aji(B的第i行第j列元素是A的第j行第i列元素)。记AT=B,即B为A的转置。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x;
cin>>x;
int a[x][x];
for(int i=0;i<x;i++)
{
for(int j=0;j<x;j++)
{
cin>>a[i][j];
}
}
int s;
for(int i=0;i<x;i++)
{
for(int j=i;j<x;j++)
{
s=a[j][i];
a[j][i]=a[i][j];
a[i][j]=s;
}
}
for(int i=0;i<x;i++)
{
for(int j=0;j<x;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
~~~f