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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM