Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int main() {
- int **a, m, n;
- scanf("%d%d", &m, &n);
- a = malloc(m * sizeof(int *));
- for (int i = 0; i < m; i++)*(a + i) = calloc(n, sizeof(int));
- int t = 1; int p1 = -1, p2 = -1;
- while (t <= m*n) {
- p1++; p2++;
- while (a[p1][p2] != 0) { p1++; p2++; }
- for (; p2 < n && a[p1][p2] == 0;)
- a[p1][p2++] = t++;
- p2--; p1++;
- for (; p1 < m && a[p1][p2] == 0;)
- a[p1++][p2] = t++;
- p2--; p1--;
- for (; p2 >= 0 && a[p1][p2] == 0;)
- a[p1][p2--] = t++;
- p2++; p1--;
- for (; p1 >= 0 && a[p1][p2] == 0;)
- a[p1--][p2] = t++;
- }
- for (int i = 0; i < m; i++)
- {
- for (int j = 0; j < n; j++)
- printf("%d ", a[i][j]);
- printf("\n");
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement