#503. 矩阵交换行
矩阵交换行
矩阵行交换
题目描述
给定一个 5×5 的矩阵。
矩阵是由若干行和若干列组成的矩形数字排列。
现在要求:
将矩阵中的第 m 行和第 n 行进行交换。
输出交换后的矩阵。
例如:
交换第 1 行和第 5 行:
交换前:
1 2 3
4 5 6
7 8 9
交换后:
7 8 9
4 5 6
1 2 3
输入格式
输入共 6 行。
前 5 行:
输入矩阵的内容。
每行包含:
5 个整数
整数之间使用一个空格分隔。
第 6 行:
输入两个整数:
m n
表示需要交换的两行编号。
其中:
1 ≤ m,n ≤ 5
输出格式
输出交换后的矩阵。
共输出:
5 行
每行包含:
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
样例输出
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
解题思路
本题核心:
二维数组 + 行交换
使用二维数组保存矩阵:
a[5][5]
输入矩阵后:
- 读取需要交换的两行
m、n - 将第
m行和第n行交换
因为矩阵行编号从:
1 ~ 5
而 C++ 数组下标从:
0 ~ 4
所以需要:
m--;
n--;
交换方法
假设交换:
第 m 行
第 n 行
例如:
交换:
第1行
第5行
原矩阵:
1 2 2 1 2 ← 第1行
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4 ← 第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
相关
在以下作业中: