仅供学习参考,如有不足之处请予指正。
问题描述
给定一个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
问题分析
定义中间量temp,行和列的数字两两交换
代码展示
#include <iostream>
using namespace std;
int main()
{
int a[5][5], m, n;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cin >> a[i][j];
}
}
cin >> m >> n;//要交换的行
for (int j = 0; j < 5; j++) {
int temp = a[m - 1][j];
a[m - 1][j] = a[n - 1][j];
a[n - 1][j] = temp;
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}