当前位置:首页题目 > 正文

c++题目:矩阵交换行

作者:野牛程序员:2023-08-14 16:42:44题目阅读 2890

c++题目:

【题目描述】 给定一个4*4的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交 换后的结果。1<=m,n<5 【输入描述】 输入共5行,前4行为矩阵的每一行元素,元素与元素之间以一个空格分开。 第5行包含两个整数m、n 【输出描述】 输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。 【样例输入】 14 2 14 16 2 13 5 10 1 9 16 12 15 1 20 7 2 4 【样例输出】 14 2 14 16 15 1 20 7 1 9 16 12 2 13 5 10



#include <iostream>
#include <vector>

int main() {
    std::vector<std::vector<int>> matrix(4, std::vector<int>(4));

    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            std::cin >> matrix[i][j];
        }
    }

    int m, n;
    std::cin >> m >> n;

    std::swap(matrix[m - 1], matrix[n - 1]);

    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            std::cout << matrix[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

这个程序首先创建一个4x4的矩阵,然后按行读取矩阵的元素。接下来,程序读取整数 m 和 n,表示要交换的两行。

使用 std::swap() 函数交换第 m 行和第 n 行。最后,程序输出交换后的矩阵。

注意,数组索引从 0 开始,而题目中行号从 1 开始,所以在交换行时需要减去 1。



野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击