思路:
找到nm中最大的,然后开一个正方形数组,反转对角线,然后再按照mn的顺序打印一遍数组就可以了。
代码:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n,m;
int main(){
cin>>n>>m;
int k = max(n,m);
vector<vector<int>> g(k,vector<int> (k));
for(int i = 0;i < n;i++)
for(int j = 0; j < m; j++) cin>>g[i][j];
for(int i = 0; i < n; i++)
for(int j = 0; j < i; j++){
if(i == j) continue;
else swap(g[i][j],g[j][i]);
}
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++) cout<<g[i][j]<<" ";
puts("");
}
return 0;
}
评论区