輸入一個n*m大小的矩陣,將其行列互換,第1行換成第1列,第2行換成第2列,依此類推。
1 <= n, m <= 100
輸入描述:
第一行兩個整數n,m
接下來n行,每行m個整數
輸出描述:
m行,每行n個整數,表示互換之后的矩陣。
自解答案:
#include <bits/stdc++.h>
using namespace std;?
?
int main() {
? ? // 請補全代碼,實現題目功能
? ? int n,m;
? ? cin >> n >> m;
? ? int a[n][m];
? ? int b[m][n];
?
? ? for (int i = 0; i < n; i++)
? ? {
? ? ? ? for (int j = 0; j < m; j++){
? ? ? ? ? ? ?cin >> a[i][j]; ? ??
? ? ? ? }
? ? ? ??
? ? ? ??
? ? }
?
? ? for (int j = 0; j < m; j++)
? ? {
? ? ? ? for (int i = 0; i < n; i++){
? ? ? ? ? ? ?b[j][i] = a[i][j];
? ? ? ? ? ? ?cout << b[j][i] <<" ";
? ? ? ? }?
? ? ? ? cout <<" "<< endl;
? ? ? ??
? ? ? ??
? ? }
? ??
?
?
? ? return 0;
}
標準答案:
#include <iostream>
using namespace std;
?
int main() {
? ? int n, m;
? ? cin >> n >> m;
? ? int nums[m][n];
? ??
? ? for (int i=0; i<n; i++)
? ? ? ? for (int j=0; j<m; j++)
? ? ? ? ? ? cin >> nums[j][i];
? ??
? ? for (int i=0; i<m; i++) {
? ? ? ? for (int j=0; j<n; j++)
? ? ? ? ? ? cout << nums[i][j] << " ";
? ? ? ? cout << endl;
? ? }
? ? return 0;
}