矩阵交换行(信息学奥赛一本通-1119)
【题目描述】
给定一个5×5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。
【输入】
输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。
第6行包含两个整数m、n,以一个空格分开(1≤m,n≤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
【题解代码】
#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
int nums[N][N];
int main()
{
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5; j++)
{
cin >> nums[i][j];
}
}
int n, m; cin >> n >> m;
for (int i = 1; i <= 5; i++)
{
swap(nums[n][i], nums[m][i]);
}
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5; j++)
{
cout << nums[i][j] << ' ';
}
cout << endl;
}
return 0;
}