#include #include #include "stabla.h" int dubina_stabla(Cvor* koren) { if(koren == NULL) return 0; int dubina_levo = dubina_stabla(koren->levo); int dubina_desno = dubina_stabla(koren->desno); if(dubina_desno > dubina_levo) return dubina_desno + 1; else return dubina_levo + 1; } int cvorovi_na_nivou_i(Cvor* koren, int i) { if(koren == NULL) return 0; if(i == 0) return 1; else //nivo < i return cvorovi_na_nivou_i(koren->levo, i-1) + cvorovi_na_nivou_i(koren->desno, i-1); } int main(int argc, char const *argv[]) { FILE * f = fopen("stablo.txt", "r"); if(f == NULL){ greska(); } Cvor * stablo = NULL; ucitaj_stablo(&stablo, f); if(stablo == NULL){ printf("%d\n", 0); return 0; } int d = dubina_stabla(stablo); int i; int max = 1; for(i = 0; i < d; i++){ int k = cvorovi_na_nivou_i(stablo, i); if(k > max){ max = k; } } printf("%d\n", max); oslobodi_stablo(stablo); return 0; }