3

可能重复:
如何旋转二维数组?

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");
}
4

1 回答 1

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];
    }
}
于 2012-11-04T14:04:31.337 回答