zoukankan      html  css  js  c++  java
  • 计蒜客之矩阵翻转

    问题:

    晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的。于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分。

    输入第一行包括由空格分开的整数 M、N、T(0 < M < 200,0 < N < 200,T=0或1),其中 M 和 N 分别表示待处理矩阵的行数与列数,T 为 0 时表示左右翻转,为 1 时表示上下翻转。

    之后的 M 行,每行包括由空格分隔的 N 个整数,依次为输入矩阵的每一行的数据。

    输出包括 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 }
  • 相关阅读:
    个人日志-6.27
    <软件工程>课程总结
    团队项目--地铁信息查询-UML图初步设计
    7-4 日报
    7-5小组日报 最终版的发布
    7-1 7-3
    软工日报6-30
    软工日报 6-29
    6-28小组会议记录
    6-27小组讨论内容
  • 原文地址:https://www.cnblogs.com/alice123/p/5621437.html
Copyright © 2011-2022 走看看