资源限制
时间限制:1.0s 内存限制:256.0MB
【问题描述】
给定一个n×m矩阵相乘,求它的转置。其中1≤n≤20,1≤m≤20,矩阵中的每个元素都在整数类型(4字节)的表示范围内。
【输入格式】
第一行两个整数n和m;
第二行起,每行m个整数,共n行,表示n×m的矩阵。数据之间都用一个空格分隔。
【输出格式】
共m行,每行n个整数,数据间用一个空格分隔,表示转置后的矩阵。
样例输入
2 4
34 76 -54 7
-4 5 23 9
样例输出
34 -4
76 5
-54 23
7 9
解题思路:
这道题目思路很简单,就是把矩阵转置,但是实现方法有很多种,可以两个数组储存,也可以一个数组储存,这里我就是在输入阶段就把数组给转置了,输出就按顺序输出即可,代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int m, n;
int a[20][20];
int i, j;
cin >> m >> n;
for(i = 0; i < m; i ++){
for (j = 0; j < n; j ++){
cin >> a[j][i];
}
}
for(i = 0; i < n; i ++){
for (j = 0; j < m; j ++){
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}