#include <stdio.h>
#include <stdlib.h>

/*
 * Spracujme vstupny subor, kde su po riadkoch uvedene cisla
 * a vypisme stlpcove sucty.
 *
 * Subor obsahuje na prvom riadku pocet cisiel v kazdom nasledovnom riadku.
 *
 * Priklad:
 * 5
 * 12 35 63 -2 3
 * -2 5 98 21 0
 * -7 -8 -2 1 0
 *
 */
void vypis_pole(int pole[], int dlzka) {
	int i;

	for(i = 0; i < dlzka; i++) {
		printf("%d ", pole[i]);
	}
}

int main(int argc, char **argv) {
    FILE * subor;
    int cisiel_na_riadku = 0;
    int * sucty;
    int i;
    int cislo;

    subor = fopen("cisla.txt", "r");
    if(subor == NULL) {
        printf("Subor cisla.txt nenajdeny.");
        return EXIT_FAILURE;
    }

    /* nacitajme prve cislo  */
    fscanf(subor, "%d", &cisiel_na_riadku);

    /* Alokujme dostatocne velke pole.
     * Toto pole sa v calloc() zaroven prenuluje, cim ziskame
     * korektny zaklad pre nascitavanie
     */
    sucty = calloc(cisiel_na_riadku, sizeof(int));
    /* nacitavame znaky do nemoty, t. j. do konca subory */
    while(feof(subor) == 0) {
    	/* kedze vieme presne, kolko poloziek je v riadku, nacitame
    	 * prislusny pocet cisiel
    	 */
    	for(i = 0; i < cisiel_na_riadku; i++) {
    		/* nacitame polozky a pripocitame ju do pola */
    		fscanf(subor, "%d", &cislo);
    		sucty[i] += cislo;
    	}
    }

    vypis_pole(sucty, cisiel_na_riadku);


    if(fclose(subor) == EOF) {
    	printf("Nepodarilo sa zavriet subor.");
    	return EXIT_FAILURE;
    }

    return EXIT_SUCCESS;
}
