我要肆了 2024-07-25 18:11 采纳率: 100%
浏览 0
已结题

C++#T1119. 矩阵交换行

题目描述C++
给定一个5×5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

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

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

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

样例
输入数据 1
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
输出数据 1
3 0 8 2 4
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
1 2 2 1 2
能帮忙讲解一下吗,喵

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-25 18:11
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    首先我们需要读入矩阵和要交换的行号m和n。然后我们将第m行和第n行进行交换,并输出结果。 以下是C++代码示例:
    #include <iostream>
    using namespace std;
    int main() {
        int matrix[5][5];
        
        // 读入矩阵
        for(int i = 0; i < 5; i++) {
            for(int j = 0; j < 5; j++) {
                cin >> matrix[i][j];
            }
        }
        
        int m, n;
        cin >> m >> n;
        
        // 交换第m行和第n行
        for(int i = 0; i < 5; i++) {
            int temp = matrix[m-1][i];
            matrix[m-1][i] = matrix[n-1][i];
            matrix[n-1][i] = temp;
        }
        
        // 输出结果
        for(int i = 0; i < 5; i++) {
            for(int j = 0; j < 5; j++) {
                cout << matrix[i][j] << " ";
            }
            cout << endl;
        }
        
        return 0;
    }
    

    请注意,这里我们将行号m和n减一是因为数组下标从0开始。根据输入数据1的示例,如果我们交换第1行和第5行,则输出为:

    3 0 8 2 4
    5 6 7 8 3
    9 3 0 5 3
    7 2 1 4 6
    1 2 2 1 2
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 7月25日

悬赏问题

  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收