Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define SIZE 32
- int is_column_valid(int col, int n, int m, int a[SIZE][SIZE])
- {
- for (int * i = *a; i < *(a + n); i += SIZE)
- {
- for (int *j = *a; j < i; j += SIZE)
- {
- if (*(i + col) == *(j + col))
- {
- return 0;
- }
- }
- }
- return 1;
- }
- void remove_column(int col, int n, int m, int a[SIZE][SIZE])
- {
- for (int i = col + 1; i < m; ++i)
- {
- for (int * j = *a; j < *(a + n); j += SIZE)
- {
- int tmp = *(j + i - 1);
- *(j + i - 1) = *(j + i);
- *(j + i) = tmp;
- }
- }
- }
- int main()
- {
- int n, m;
- scanf("%d %d", &n, &m);
- int a[SIZE][SIZE];
- for (int * i = *a; i < *(a + n); i += SIZE)
- for (int * j = i; j < i + m; j++)
- scanf("%d", j);
- for (int *i = *a; i < *(a + m); i += SIZE)
- {
- if (!is_column_valid((i - *a)/SIZE, n, m, a))
- {
- remove_column((i - *a)/SIZE, n, m, a);
- m--;
- i-= SIZE;
- }
- }
- for (int * i = *a; i < *(a + n); i += SIZE)
- {
- for (int * j = i; j < i + m; j++)
- printf("%d ", *j);
- printf("\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement