Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.64 KB | None | 0 0
  1. // Lav.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6.  
  7. int main()
  8. {
  9.     int **A, **B, n, m, i, j;
  10.     scanf("%d%d", &n, &m);
  11.     A = (int**)malloc((n + 2) * sizeof(int*));
  12.     for (i = 0; i < n + 2; i++)
  13.         A[i] = (int*)malloc((m + 2) * sizeof(int));
  14.     B = (int**)malloc((n + 2) * sizeof(int*));
  15.     for (i = 0; i < n + 2; i++)
  16.         B[i] = (int*)malloc((m + 2) * sizeof(int));
  17.  
  18.  
  19.  
  20.     if(A == NULL)
  21.         return 0;
  22.     for (i = 1; i <= n; i++)
  23.         for (j = 1; j <= m; j++)
  24.             scanf("%d", &A[i][j]);
  25.  
  26.     while(1){
  27.         system("cls");
  28.         int x = 1, y = 0;
  29.  
  30.         for ( i = 1; i <= n; i++) {
  31.             for (j = 1; j <= m; j++)
  32.                 B[i][j] = -1;
  33.         }
  34.  
  35.         int cnt = 0, tmp1, tmp2 = A[0][0];
  36.         i = 1;
  37.         j = 1;
  38.         while (cnt < n*m) {
  39.             //A[i][j] = cnt++;
  40.             tmp1 = A[i][j];
  41.             A[i][j] = tmp2;
  42.             tmp2 = tmp1;
  43.             B[i][j]++;
  44.             if (B[i + y][j + x] > -1) {
  45.                 int t = x;
  46.                 x = -y;
  47.                 y = t;
  48.             }
  49.             i += y;
  50.             j += x;
  51.             cnt++;
  52.         }
  53.         A[1][1] = tmp2;
  54.  
  55.         printf("\n");
  56.         for(i = 1; i <= n; i++){
  57.             for(j = 1; j <= m; j++){
  58.                 printf("%4d", A[i][j]);
  59.             }
  60.             printf("\n");
  61.         }
  62.         system("pause");
  63.     }
  64.     return 0;
  65. }
  66.  
  67. /*
  68.  7 7
  69.  1 2 3 4 5 6 7
  70.  8 9 10 11 12 13 14
  71.  15 16 17 18 19 20 21
  72.  22 23 24 25 26 27 28
  73.  29 30 31 32 33 34 35
  74.  36 37 38 39 40 41 42
  75.  43 44 45 46 47 48 49
  76. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement