Cod sursa(job #2330808)

Utilizator AxellApostolescu Alexandru Axell Data 28 ianuarie 2019 20:47:00
Problema Submultimi Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <stdio.h>
#include <stdlib.h>

int submultimi(int n, int start, int limit, FILE* out) {
	int i;
	if (limit > n) {
		return 0;
	}
	for (i = start ; i <= limit ; ++i) {
		fprintf(out, "%d ", i);
		if (i == limit && start != n) {
			fprintf(out, "\n");
			submultimi(n , start, limit + 1, out);
		}
	}
	return 0;
}

int execute_until (int n, FILE* out) {
	int i;
	for (i = 1 ; i <= n ; ++i) {
		submultimi(n, i, i, out);
	}
	return 0;
}

int main() {
	FILE *in, *out;
	if (((in = fopen("submultimi.in", "rt")) == NULL)) {
		printf("Nu am putut deschide fisierul de input!");
		return -1;
	}
	if (((out = fopen("submultimi.out", "wt")) == NULL)) {
		printf("Nu am putut deschide fisierul de output!");
		return -2;
	}
	int n;
	fscanf(in, "%d", &n);
	execute_until(n, out);
	// Freeing the memory
	fclose(in);
	fclose(out);
	return 0;
}