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

- 上一篇:C++题目:字符串相等
- 下一篇:python pygame编程