#include #include #include #define MAX_IME 101 #define MAX_OCENE 10 typedef struct { char puno_ime[MAX_IME]; unsigned ocene[MAX_OCENE]; int broj_ocena; float prosek; } STUDENT; void greska() { fprintf(stderr, "-1\n"); exit(EXIT_FAILURE); } //Funkcija koja pronalazi studenta sa najvecim prosekom int najveci_prosek(STUDENT* niz, int n){ int i, pozicija = 0; float p = niz[0].prosek; for(i=1; i p){ pozicija = i; p = niz[i].prosek; } return pozicija; } //Funkcija koja ispisuje podatke o prosledjenom studentu void ispisi(const STUDENT* s){ printf("%s %.2f\n", s->puno_ime, s->prosek); } int main(int argc, char* argv[]){ //Provera argumenata if(argc != 2) greska(); //Otvaramo fajl za citanje FILE* ulaz = fopen(argv[1], "r"); if(ulaz == NULL) greska(); //Citamo dimenziju niza int n; fscanf(ulaz, "%d", &n); //Alociramo potrebnu memoriju STUDENT* niz; niz = malloc(n*sizeof(STUDENT)); if(niz == NULL) greska(); //Ucitavamo sve podatke u niz int i, ocena, j, suma; char tmp_prezime[MAX_IME]; for(i=0; i