蓝桥杯 矩阵转置 C++算法提高 HERODING的蓝桥杯之路

资源限制
时间限制: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;
} 

猜你喜欢

转载自blog.csdn.net/HERODING23/article/details/106889062