Advertisement
Lisaveta777

Turn 2D array clockwise 1

Dec 23rd, 2018
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.15 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define SIZE 4
  4.  
  5. //turn array clock-wise(& opposite way)
  6. //not happy, that cant figure out how to turn it without of temp 2D-array
  7.  
  8. void pop_arr(int s,int a[s][s]);
  9. void pr_arr(int s,int a[s][s]);
  10. void turn_arr(int s,int a[s][s]);
  11.  
  12. int main()
  13. {
  14.     int arr[SIZE][SIZE]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
  15.     pr_arr(SIZE,arr);
  16.     turn_arr(SIZE,arr);
  17.     pr_arr(SIZE,arr);
  18.     turn_arr(SIZE,arr);
  19.     pr_arr(SIZE,arr);
  20.     turn_arr(SIZE,arr);
  21.     pr_arr(SIZE,arr);
  22.  
  23.     return 0;
  24. }
  25. void turn_arr(int s,int a[s][s])
  26. {
  27.     int i,j,temp_arr[s][s];
  28.     for(i=0;i<s;i++)
  29.     {
  30.         for(j=0;j<s;j++)
  31.             temp_arr[i][j]= a[s-j-1][i];//po chasovoj strelke
  32.             //temp_arr[i][j]=a[j][s-i-1];//protiv chasovoi strelki
  33.     }
  34.     for(i=0;i<s;i++)
  35.         for(j=0;j<s;j++)
  36.         a[i][j]=temp_arr[i][j];
  37. }
  38. void pop_arr(int s,int a[s][s])
  39. {
  40.     int i,j;
  41.     for(i=0;i<s;i++)
  42.         for(j=0;j<s;j++)
  43.          a[i][j]=rand()%20+1;
  44. }
  45. void pr_arr(int s,int a[s][s])
  46. {
  47.     int i,j;
  48.     for(i=0;i<s;i++)
  49.         {for(j=0;j<s;j++)
  50.         printf("%d\t",a[i][j]);
  51.     printf("\n");}
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement