Pagini recente » Cod sursa (job #322644) | Cod sursa (job #253188) | Cod sursa (job #3229382) | Cod sursa (job #2896272) | Cod sursa (job #478442)
Cod sursa(job #478442)
#include <stdio.h>
#include <stdlib.h>
void print(int *v, int k, FILE *g)
{
int i;
for (i = 0; i < k; i++)
fprintf(g, "%d ", v[i]);
fprintf(g, "\n");
}
int valid(int *v, int k)
{
int i;
for (i = 0; i < k; i++)
if (v[i] >= v[k]) return 0;
return 1;
}
void back(int *v, int n, int k, FILE *g)
{
int i;
if (k != 0) print(v, k, g);
for (i = 1; i <= n; i++)
{
v[k] = i;
if (valid(v, k)) back(v, n, k + 1, g);
}
}
int main()
{
int n;
FILE *f, *g;
f = fopen("submultimi.in", "r");
g = fopen("submultimi.out", "w");
fscanf(f, "%d", &n);
int *v = (int *)malloc(sizeof(int) * n);
back(v, n, 0, g);
fclose(f);
fclose(g);
return 0;
}