藍橋杯 矩陣轉置 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;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章