Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. #include<stdio.h>
  2. int main() {
  3. int **a, m, n;
  4. scanf("%d%d", &m, &n);
  5. a = malloc(m * sizeof(int *));
  6. for (int i = 0; i < m; i++)*(a + i) = calloc(n, sizeof(int));
  7. int t = 1; int p1 = -1, p2 = -1;
  8. while (t <= m*n) {
  9. p1++; p2++;
  10. while (a[p1][p2] != 0) { p1++; p2++; }
  11. for (; p2 < n && a[p1][p2] == 0;)
  12. a[p1][p2++] = t++;
  13. p2--; p1++;
  14. for (; p1 < m && a[p1][p2] == 0;)
  15. a[p1++][p2] = t++;
  16. p2--; p1--;
  17. for (; p2 >= 0 && a[p1][p2] == 0;)
  18. a[p1][p2--] = t++;
  19. p2++; p1--;
  20. for (; p1 >= 0 && a[p1][p2] == 0;)
  21. a[p1--][p2] = t++;
  22. }
  23. for (int i = 0; i < m; i++)
  24. {
  25. for (int j = 0; j < n; j++)
  26. printf("%d ", a[i][j]);
  27. printf("\n");
  28. }
  29. system("pause");
  30. return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement