weixin_38758635 2019-10-11 09:50 采纳率: 0%
浏览 1915

给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩 形阵列),将第n列和第m列交换,输出交换后的结果的代码是神魔???

输入

输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。第6

行包含两个整数m、n(1 <= m,n< = 5),以一个空格分开。

输出

输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。

输入示例

1 2 2 1 2

5 6 7 8 3

9 3 0 5 3

7 2 1 4 6

3 0 8 2 4

1 5

输出示例

2 2 2 1 1

3 6 7 8 5

3 3 0 5 9

6 2 1 4 7

4 0 8 2 3

  • 写回答

2条回答 默认 最新

  • JonathanYan 2019-10-11 10:36
    关注

    就是把那两列元素交换后的输出。
    这个代码的seq数组表示矩阵列的输出顺序,正常情况下肯定是01234输出,如题替换后按41230输出。
    这是从问题一般性角度考虑的,如果后续类似题目要求多次交换列,楼上代码就不合适,而这个代码只需要继续交换列顺序对应的数,同理行交换也适用。

    #include <iostream>
    
    using namespace std;
    
    int main(){
        int matrix[5][5];
        int seq[5] = {0,1,2,3,4};
        int n,m;
    
        for( int i = 0; i < 5; i++ )
            for( int j = 0; j < 5; j++ )
                cin >> matrix[i][j];
    
        cin >> n >> m;
        int temp = seq[n-1];
        seq[n-1] = seq[m-1];
        seq[m-1] = temp;
    
        for( int i = 0; i < 5; i++ ){
            for(int j = 0; j < 5; j++)
                cout << matrix[i][seq[j]] << " ";
            cout << endl;
        }
    } 
    
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?