【问题标题】:How to rotate a matrix to 90 degrees? [duplicate]如何将矩阵旋转 90 度? [复制]
【发布时间】:2012-10-24 12:17:38
【问题描述】:

可能重复:
How do you rotate a two dimensional array?

C++初学者,需要旋转90度,我已经尝试过这里的其他帖子的帮助,但没有运气。对不起英语

 # define D 9

int Ta [D][D];
short i, j;
short c=1;

for ( i=0; i < D ; i++)  {
    for ( j = 0 ;  j < D; j++)


    if ((j>i) && (j<D-i-1))  Ta[i][j]=c++; 
    else if((j>D-i-1) && (j<i)) Ta[i][j]=c++;
        else Ta[i][j]=0;  

}

for ( i = 0; i < D; i++) {
    for ( j= 0; j < D; j++) {
        printf("%3d",Ta[i][j]);
    }
    printf("\n");
}

【问题讨论】:

  • 怎么了?你在调试过程中发现了什么?
  • 有多少个维度,关于哪个轴?

标签: c++


【解决方案1】:

答案是:感谢 Adam Liss

int r[D][D];

for (i=0; i<D; ++i) {
    for (j=0; j<D; ++j) {
        r[i][j] = t[D-j-1][i];
    }
}

【讨论】:

  • 请注意,对于大型数组,这会给内存带来一些压力。谨慎使用。
猜你喜欢
  • 2020-09-04
  • 2019-11-05
  • 1970-01-01
  • 1970-01-01
  • 2013-08-04
  • 2013-02-09
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
相关资源
最近更新 更多