Advertisement
Lisaveta777

Mirror array

Nov 8th, 2018
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.74 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <math.h>
  4. #define SIZE 4
  5.  
  6. void pop_arr(int s,int a[SIZE][SIZE]);
  7. void pr_arr(int s,int a[SIZE][SIZE]);
  8. void main_diag(int s,int a[SIZE][SIZE]);//mirror main diagonal
  9. void dop_diag(int s,int a[SIZE][SIZE]);//mirror additional diagonal
  10.  
  11. int main()
  12. {
  13.     int arr[SIZE][SIZE]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
  14.     pr_arr(SIZE,arr);
  15.     printf("\n\n");
  16.     main_diag(SIZE,arr);
  17.     pr_arr(SIZE,arr);
  18.     printf("\n\n");
  19.     main_diag(SIZE,arr);//back to original array
  20.     pr_arr(SIZE,arr);
  21.     printf("\n\n");
  22.     dop_diag(SIZE,arr);
  23.     pr_arr(SIZE,arr);
  24.     printf("\n\n");
  25.     dop_diag(SIZE,arr);//back to origina array
  26.     pr_arr(SIZE,arr);
  27.     printf("\n\n");
  28.  
  29.     return 0;
  30. }
  31. void pop_arr(int s,int a[SIZE][SIZE])
  32. {
  33.     int i,j;
  34.     for(i=0;i<s;i++)
  35.     {
  36.         for(j=0;j<s;j++)
  37.             a[i][j]= rand()%20-10;
  38.     }
  39. }
  40.  
  41. void pr_arr(int s,int a[SIZE][SIZE])
  42. {
  43.     int i,j;
  44.     for(i=0;i<s;i++)
  45.     {
  46.         for(j=0;j<s;j++)
  47.             printf("%d\t",a[i][j]);
  48.         printf("\n");
  49.     }
  50. }
  51. void main_diag(int s,int a[SIZE][SIZE])
  52. {
  53.     int i,j,temp;
  54.     for(i=0;i<s;i++)
  55.     {
  56.         for(j=i;j<s;j++)
  57.         {
  58.            if(i!=j)
  59.            {
  60.                temp= a[i][j];
  61.                a[i][j]= a[j][i];
  62.                a[j][i]  = temp;
  63.            }
  64.         }
  65.     }
  66. }
  67.  
  68. void dop_diag(int s,int a[SIZE][SIZE])
  69. {
  70.     int i,j,temp,ti,tj;
  71.     for(i=0;i<s;i++)
  72.     {
  73.         for(j=0;j<s-i;j++)
  74.         {
  75.             ti = s-j-1;
  76.             tj = s-i-1;
  77.            if(j!=s-i-1)//j!=s-i-1
  78.            {
  79.                temp= a[i][j];
  80.                a[i][j]= a[ti][tj];
  81.                a[ti][tj]  = temp;
  82.            }
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement