题目1193:矩阵转置
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1645
解决:1115
-
题目描述:
-
输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。
-
输入:
-
输入的第一行包括一个整数N,(1<=N<=100),代表矩阵的维数。
接下来的N行每行有N个整数,分别代表矩阵的元素。
-
输出:
-
可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出。
-
样例输入:
-
3 1 2 3 4 5 6 7 8 9
-
样例输出:
-
1 4 7 2 5 8 3 6 9
-
来源:
- 2007年华中科技大学计算机研究生机试真题
-
#include<iostream> using namespace std; int fun(int s[101][101],int m) { int a[101][101]; for(int i=1;i<=m;i++) { for(int j=1;j<=m;j++) { a[j][i]=s[i][j]; } } for(int i=1;i<=m;i++) { for(int j=1;j<m;j++) { cout<<a[i][j]<<" "; } cout<<a[i][m]<<endl; } } int main() { int n; while(cin>>n) { int str[101][101]; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>str[i][j]; } } fun(str,n); } }
- 只会用数组,就地转置不会啊!!