Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <malloc.h>
- #include <stdlib.h>
- int main()
- {
- int i, j, n;
- int* temp;
- scanf("%d", &n);
- getchar();
- int* a = (int*)malloc(2 * n * n * sizeof(int));
- int* even = (int*)malloc(n * n * sizeof(int));
- int* odd = (int*)malloc(n * n * sizeof(int));
- n *= 2;
- for (i = 0; i < n / 2; i++)
- {
- for (j = 0; j < n; j++)
- {
- scanf("%d", (a + i * n + j));
- }
- getchar();
- }
- for (i = 0; i < n / 2; i++)
- {
- for (j = 0; j < n; j++)
- {
- if (j % 2 == 0)
- {
- *(even + i * n + j / 2) = *(a + i * n + j);
- }
- else
- {
- *(odd + i * n + j / 2) = *(a + i * n + j);
- }
- }
- }
- for (i = 0; i < n / 2; i++)
- {
- for (j = 0; j < n / 2; j++)
- {
- if (j >= i)
- {
- //if ((i != j) || (j - 1 != i))
- {
- int t = -*(odd + j * n + i);
- *(odd + j * n + i) = -*(odd + i * n + j);
- *(odd + i * n + j) = t;
- t = *(even + j * n + i);
- *(even + j * n + i) = *(even + i * n + j);
- *(even + i * n + j) = t;
- /*temp = (odd + j * n + i);
- *(odd + j * n + i) = -*(odd + i * n + j);
- *(odd + i * n + j) = -*temp;
- temp = (even + j * n + i);
- *(even + j * n + i) = *(even + i * n + j);
- *(even + i * n + j) = *temp;*/
- }
- //else
- {
- //if (j - 1 == 0)
- {
- //*(odd + i * n + j) = -*(odd + i * n + j);
- }
- }
- }
- }
- }
- for (i = 0; i < n / 2; i++)
- {
- for (j = 0; j < n; j++)
- {
- if (!(j % 2))
- {
- *(a + i * n + j) = *(even + i * n + j / 2);
- }
- else
- {
- *(a + i * n + j) = *(odd + i * n + j / 2);
- }
- }
- }
- for (i = 0; i < n / 2; i++)
- {
- for (j = 0; j < n; j++)
- {
- printf("%d ", *(a + i * n + j));
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement