海外主机测评

您现在的位置是:首页 > 服务器 > 正文

服务器

C++ 多维数组的转置

cds8202023-06-25服务器62
输入一个n*m大小的矩阵,将其行列互换,第1行换成第1列,第2行换成第2列,依此类推。1<=n,m<=100输入描述:第一行两个整数n,m接下来n行,每行m个整数输出描述:m行,

输入一个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;
}


发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~