zoukankan      html  css  js  c++  java
  • 矩阵旋转问题的求解

           今天刚刚练习做到一个关于矩阵转置的算法问题,主要用到顺时针与逆时针旋转,时间匆忙,就随便记录下思路吧,等有时间再将详细的求解过程贴出来,当然原算法的复杂度要稍微高些,不过只要掌握了矩阵的旋转,答案也就自然而然地闪现呢!好了,不啰嗦,请看代码吧!

    01:  int _tmain(int argc, _TCHAR* argv[])
    02:  {    
    03:      int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},b[4][4],c[4][4],i,j;
    04:      for(i=0;i<4;i++)
    05:      {
    06:         for(j=0;j<4;j++)
    07:         {
    08:             printf("%d\t",a[i][j]);
    09:         }
    10:         printf("\n");
    11:      }
    12:      for(i=0;i<4;i++)
    13:      {
    14:         for(j=0;j<4;j++)
    15:         {
    16:             b[i][j]=a[3-j][i];//顺时针旋转
    17:         }
    18:      }
    19:      for(i=0;i<4;i++)
    20:      {
    21:         for(j=0;j<4;j++)
    22:         {
    23:             c[i][j]=a[j][3-i];//逆时针旋转
    24:         }
    25:      }
    26:      printf("顺时针旋转变换后 :\n"); 
    27:      for(i=0;i<4;i++)
    28:      {
    29:         for(j=0;j<4;j++)
    30:         {
    31:             printf("%d\t",b[i][j]);
    32:         }
    33:         printf("\n");
    34:      }
    35:      printf("逆时针旋转变换后:\n");
    36:      for(i=0;i<4;i++)
    37:      {
    38:         for(j=0;j<4;j++)
    39:         {
    40:             printf("%d\t",c[i][j]);
    41:         }
    42:         printf("\n");
    43:      }
    44:      getchar();
    45:      return 0;
    46:  }
            很简单吧,好好琢磨下变换的规律吧,假如是旋转180,270呢???
  • 相关阅读:
    如何快速建立自己的知识体系
    让你的网站变成灰色
    Java多线程-锁升级
    冰河正则大全
    Win硬盘/U盘设置图片
    MySQL——三范式
    MySQL——事务
    MySQL_explain
    HDFS的一些常用指令
    Hadoop集群的搭建准备
  • 原文地址:https://www.cnblogs.com/JackyTecblog/p/1985074.html
Copyright © 2011-2022 走看看