Pagini recente » Cod sursa (job #1429286) | Cod sursa (job #579723) | Cod sursa (job #2971732) | Cod sursa (job #3148470) | Cod sursa (job #721597)
Cod sursa(job #721597)
#include <stdio.h>
#define N 20
int data[N];
int n;
void subsets() {
int i;
for (i=0;i<data[0];i++)
printf("%d ", data[i + 1]);
if (data[0])
printf("\n");
for (i=data[data[0]] + 1;i<=n;i++) {
data[++data[0]] = i;
subsets();
data[data[0]] = 0;
--data[0];
}
}
void subsetsk(int k) {
int i;
for (i=1;i<=k;i++) {
printf("%d ", data[i]);
}
printf("\n");
for (i = data[k] + 1; i <= n; i++) {
data[k + 1] = i;
subsetsk(k + 1);
}
}
void subsetsbin() {
int i, j;
for (i=1;i<(1 << n);i++) {
for (j=0;j<n;j++) {
if (i & (1 << j)) {
printf("%d ", j + 1);
}
}
printf("\n");
}
}
int main(void) {
//scanf("%d", &n);
n = 3;
freopen("submultimi.in","r",stdin);
freopen("submultimi.out","w",stdout);
data[0] = 0;
subsets();
//subsetsbin();
//subsetsk(0);
return 0;
}