首页 > 代码库 > 10:矩阵转置

10:矩阵转置

10:矩阵转置

  • 查看
  • 提交
  • 统计
  • 提问
总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

输入一个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
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int a[10001][10001];
 6 int main()
 7 {
 8     int n,m;
 9     cin>>n>>m;
10     for(int i=1;i<=n;i++)
11     {
12         for(int j=1;j<=m;j++)
13         {
14             cin>>a[i][j];
15         }
16     }
17     int j=1;
18     if(n==1)
19     {
20         for(int i=1;i<=n;i++)
21         {
22             for(int j=1;j<=m;j++)
23             {
24                 cout<<a[i][j];
25                 cout<<endl;
26             }
27         }
28         return 0;
29     }
30     
31     for(int i=1;i<=n;i++)
32     {
33         
34         while(j<=m)
35         {
36             cout<<a[i][j]<<" ";
37             i++;
38             if(i==n)
39             {
40                 cout<<a[i][j]<<" ";
41                 cout<<endl;
42                 j++;
43                 i=1;
44             }
45             
46         }    
47         
48     }
49     return 0;
50 }

 

10:矩阵转置