平平无奇的编程萌新 2021-12-13 19:56 采纳率: 95.2%
浏览 211
已采纳

🎉️ 程序设计 - 操场换位置

同学们在操场上排成了一个 n行 m列的队形,请将这个队形中,身高最高的同学与身高最矮的同学交换位置(本题数据保证所有同学的身高都不相同)

比如:如下是一个 2行 3列的队形,这个队形中每个数字代表了每个同学的身高。

123 101 134
165 122 108
这个队形中,身高最高的同学在第 2行第 1列,身高最矮的同学在第 1行第 2列,将他们交换位置后输出结果为:

123 165 134
101 122 108
输入格式
第 1行有 2个整数 n和 m,分别代表队形的行和列的值( 2<= n, m<= 10)

接下来 n行,每行有 m个整数,代表每个同学的身高(每个同学的身高的值在 90 ~ 200之间)

输出格式
输出 n行 m列,代表交换位置后的结果,每行的 m个数之间用空格隔开。
输入样例
3 4
100 101 102 103
104 105 106 107
108 109 110 111
输出样例
111 101 102 103
104 105 106 107
108 109 110 100

  • 写回答

1条回答 默认 最新

  • cab_bage 2022-01-03 20:40
    关注
    动态二维数组,循环输入,循环找到最大最小值,记下角标,换位,输出
    
    ```c++
    #include<iostream>
    #include<vector>
    using namespace std;
    int main()
    {
        int m, n, max = 0, min = 0;
        int a = 0, b = 0, c = 0, d = 0;
        cin >> n >> m;
        vector<vector<int>> array(n);
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                int x; cin >> x;
                array[i].push_back(x);
            }
        }
        max = min = array[0][0];
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                if (max < array[i][j]) { max = array[i][j]; a = i, b = j; }
                if (min > array[i][j]) { min = array[i][j]; c = i, d = j; }
            }
        }
        int temp = array[a][b];
        array[a][b] = array[c][d];
        array[c][d] = temp;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j <m; j++)
            {
                cout << array[i][j] << " ";
            }
            cout << endl;
        }
    }
    
    

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已采纳回答 1月5日
  • 创建了问题 12月13日

悬赏问题

  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题