題意
給一個矩陣,要你把矩陣翻轉 (把行與列調換) (transpose)
解題方法
將矩陣用二維陣列存起來後,我們直接先從左到右,上到下輸出每一列的值就可以了。記得要在輸出完一列的時候換行。另外,記得要輸入直到 EOF,因為題目有多筆測試資料。
#include <bits/stdc++.h>
using namespace std;
int a[105][105];
int main(){
int n, m;
while(cin >> n >> m) { // 讀到 EOF
for(int i = 0;i < n;i++) {
for(int j = 0;j < m;j++) {
cin >> a[i][j];
}
}
for(int i = 0;i < m;i++) {
for(int j = 0;j < n;j++) {
cout << a[j][i] << " \n"[j == n-1]; // 輸出到最後一個會變成換行
}
}
}
}
圖片來源:https://www.scaler.com/topics/transpose-of-a-matrix-in-c/
發表迴響