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換回原值 } }