計蒜客之矩陣翻轉

問題:ios

曉萌最近在作一個翻轉圖片的應用,你可能也知道,圖片實際上是由一個個的點組成的。因而,曉萌想先作一個能夠翻轉矩陣的程序,來解決他問題的核心部分。spa

輸入第一行包括由空格分開的整數 M、N、T(0 < M < 200,0 < N < 200,T=0或1),其中 M 和 N 分別表示待處理矩陣的行數與列數,T 爲 0 時表示左右翻轉,爲 1 時表示上下翻轉。code

以後的 M 行,每行包括由空格分隔的 N 個整數,依次爲輸入矩陣的每一行的數據。blog

輸出包括 M 行 N 列,每一個數字之間用一個空格分隔,每一行行末均有一個空格,表示的是按照要求翻轉後的矩陣。圖片

樣例輸入

4 4 1
1 2 3 4
5 6 7 8
9 0 1 2
3 4 5 6
 

樣例輸出

3 4 5 6 
9 0 1 2 
5 6 7 8 
1 2 3 4 
 
C++代碼實現:
 
 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int i,j,M,N,T;
 7     int arr[200][200];
 8     cin>>M>>N>>T;
 9 
10     for(i=0;i<M;i++)
11     {
12         for(j=0;j<N;j++)
13         {
14             cin>>arr[i][j];
15         }
16     }
17 
18     if (T==0)
19     {
20         for(i=0;i<M;i++)
21         {
22             for(j=1;j<=N;j++)
23             {
24                 cout<<arr[i][N-j]<<" ";
25                 if(j%N==0)//每一行行末留一個空格
26                 cout<<endl;
27             }
28         }
29 
30     }
31 
32     if (T==1)
33     {
34         for(i=1;i<=M;i++)
35         {
36             for(j=0;j<N;j++)
37             {
38                 cout<<arr[M-i][j]<<" ";
39                  if((j+1)%N==0)//每一行行末留一個空格
40                 cout<<endl;
41             }
42         }
43 
44     }
45     return 0;
46 }
相關文章
相關標籤/搜索