配列を90°回転させる

 

Bonjour!

 

今回詰まったのは配列を90°回転させる方法です。

サイコロと同じく配列を入れ替えるのはわかってたんですけど、

その入れ替え方がなかなか思いつかず、またGoogle先生に聞いてみました。

コードは以下の通りです。

  1. #include <stdio.h>
  2. int main(void){
  3.     // Your code here!
  4.     int array[5][5]={{1,2,3,4,5},
  5.                     {6,7,8,9,10},
  6.                     {11,12,13,14,15},
  7.                     {16,17,18,19,20},
  8.                     {21,22,23,24,25}};
  9.     int i,j;
  10.     int temp_a[5][5];
  11.     //temp_aに配列arrayをコピーする
  12.     for(i=0;i<5;i++){
  13.         for(j=0;j<5;j++){
  14.             temp_a[i][j]=array[i][j];
  15.         }
  16.     }
  17.     //配列arrayにさっきコピーしたtemp_aを
  18.     for(i=0;i<5;i++){
  19.         for(j=0;j<5;j++){
  20.             array[i][j]=temp_a[4-j][i];
  21.             printf(“%d “,array[i][j]);
  22.         }
  23.         printf(“\n”);
  24.     }
  25.     return 0;
  26. }

 

 

 

配列の代入を以下の順番に変えてあげればいいようです!

 

 

それでは Au revoir!!