#include #include int N; int *p; int *ales; void alege(int poz) { int i; if (poz < N) { for (i = 0; i < N; ++i) if (!ales[i]) { ales[i] = 1; p[poz] = i; alege(poz+1); ales[i] = 0; } } else { for (i = 0; i < N; ++i) printf("%d ", p[i]); putchar('\n'); } } int main(void) { printf("dati N: "); scanf("%d", &N); p = malloc(N * sizeof(int)); ales = calloc(N, sizeof(int)); alege(0); return 0; }