题目描述
KiKi有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。
输入描述:
第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
输出描述:
输出m行n列,为矩阵转置后的结果。每个数后面有一个空格。
解题思路
在输入矩阵a的时候,同时将对应值赋给转置矩阵b,最后输出即可。
代码
#include <iostream> #include <string> using namespace std; int main() { int n,m, i, j; cin>>n>>m; long a[12][12],b[12][12]; for(i = 0;i < n;i++) for(j = 0;j < m;j++) { cin>>a[i][j];//输入矩阵的每个元素 b[j][i]=a[i][j];//转置矩阵b } for(i=0;i<m;i++){ for(j=0;j<n;j++) cout << b[i][j] <<" ";//输出矩阵b cout << endl; } return 0; }