1119:矩阵交换行
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 42130 通过数: 25565
【题目描述】
给定一个5×5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。
【输入】
输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。
第6行包含两个整数m、n,以一个空格分开(1≤m,n≤5)。
【输出】
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
分析:使用algorithm下面的一个函数swap即可交换元素,当然,你用一个中间值来交换也行,只不过那样要写很多代码。
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include<algorithm>
using std::swap;
int main()
{
int a[5][5];
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 5; ++j)
{
cin >> a[i][j];
}
}
int x = 0, y = 0;//交换x y 行
cin >> x >> y;
x--;
y--;
for (int i = 0; i < 5; ++i)
{
swap(a[x][i], a[y][i]);//交换数据
}
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 5; ++j)
{
cout << a[i][j] << " ";
}
cout << endl;
}
}