#include #include #include /* zbog strlen */ #define NS 21 #define N 200 typedef struct{ char sadrzaj[NS]; int duzina; } REC; int ucitaj_reci(char ulaz[], REC reci[]); void ispisi_poravnato(char izlaz[], REC reci[], int n); int main(){ REC reci[N]; int n; n=ucitaj_reci("ulaz.txt", reci); ispisi_poravnato("izlaz.txt", reci, n); return 0; } int ucitaj_reci(char ulaz[], REC reci[]){ FILE *ulazf=NULL; /* konvencija je da se inicijalizuje fajl pokazivac uvek na NULL */ int i=0; ulazf = fopen(ulaz, "r"); if(ulazf==NULL){ printf("Dosle je do greske pri otvaranju fajla.\n"); exit(EXIT_FAILURE); } /* fscanf(stdin, "...", ..) <==> scanf("...", ..) */ /* dok ucitavamo reci iz fajla, fscanf vraca nesto > 0 */ while(fscanf(ulazf, "%s", reci[i].sadrzaj)>0){ reci[i].duzina = strlen(reci[i].sadrzaj); i++; } fclose(ulazf); return i; /* broj ucitanih reci */ } void ispisi_poravnato(char izlaz[], REC reci[], int n){ int i,j, maxduz=0, br_belina; FILE *izlazf; izlazf = fopen(izlaz, "w"); if(izlazf==NULL){ printf("Greska pri otvaranju fajla.\n"); exit(EXIT_FAILURE); } for(i=0; imaxduz) maxduz=reci[i].duzina; for(i=0; i