3

重複の可能性:
2次元配列をどのように回転させますか?

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

the answer was : Thanks to 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 に答える