- 描述
-
-
给定一个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;
int main()
{
int m,n,a[6][6]={};//a[6][6]指从零开始到五 ,一共是36个数。“={}”使所有数组元素值为0 。
for(int j=0;j<5;j++)
for(int i=0;i<5;i++)
cin>>a[j][i];//i是横坐标及y轴;j是x轴。*从零开始。
cin>>m>>n;//输入实际要换行的y轴。
for(int i=0;i<5;i++)
{
a[5][i]=a[m-1][i];//m-1、n-1指在操作中数组里要换行的y轴。
a[m-1][i]=a[n-1][i];//第一步把m行的数移到第6空行,再将n行的数覆盖到m行。
a[n-1][i]=a[5][i];//最后把原来在m行(现在在6行)的数覆盖到 n行。
}
for(int j=0;j<5;j++)
{
for(int i=0;i<5;i++)
cout<<a[j][i]<<" ";
cout<<endl;
}//结束,输出换行后的结果。
return 0;//第一次编译时间较长,约7秒左右。
}