1.8编程基础之多维数组01:矩阵交换行
01:矩阵交换行
- 描述
-
给定一个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
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 int t,m,n,i,j; 7 int a[6][6]; 8 for(i=1;i<=5;i++){ 9 for(j=1;j<=5;j++){ 10 cin>>a[i][j]; 11 } 12 } 13 cin>>m>>n; 14 for(j=1;j<=5;j++){ 15 t=a[m][j]; 16 a[m][j]=a[n][j]; 17 a[n][j]=t; 18 } 19 for(i=1;i<=5;i++){ 20 for(j=1;j<=5;j++){ 21 cout<<a[i][j]<<" "; 22 } 23 cout<<endl; 24 } 25 return 0; 26 }
上面是别人的答案
我自己写的有点啰嗦
#include<iostream> #include<string> #include<cstdio> using namespace std; int main() { int a[10][10]; int i,j,c,b,sing=1,sgin=1; for(i=1;i<=5;i++) for(j=1;j<=5;j++) { cin>>a[i][j]; } cin>>c>>b; for(i=1;i<=5;i++) { if(c==i)i=b; else if(b==i)i=c;//c和b换行 for(j=1;j<=5;j++) { cout<<a[i][j]<<" "; if(j==5)cout<<'\n'; }if(c==i)i=b; else if(b==i)i=c;//i换回原值 } }