#include #include #include #define MAXS 100 typedef struct{ char *ime; char *prezime; int poena; } student; int main(){ char linija[MAXS],ime[MAXS],prezime[MAXS]; int alocirano; int ucitano = 0; int i; student *s, *poms; s = malloc(sizeof(student)*alocirano); if(s==NULL){ printf("Alokacija nije prosla.\n"); exit(EXIT_FAILURE); } while(1){ fgets(linija,MAXS,stdin); if(strcmp(linija,"\n")==0) break; if(ucitano>=alocirano){ alocirano+=5; poms=realloc(s,alocirano*sizeof(student)); if(poms==NULL){ printf("Nije uspela realokacija.\n"); exit(EXIT_FAILURE); } s = poms; } sscanf(linija,"%s %s %d",ime,prezime,&(s[ucitano].poena)); s[ucitano].ime = malloc(strlen(ime)); s[ucitano].prezime = malloc(strlen(prezime)); if(s[ucitano].ime==NULL || s[ucitano].prezime==NULL){ printf("Nije uspela alokacija imena ili prezimena.\n"); exit(EXIT_FAILURE); } strcpy(s[ucitano].ime, ime); strcpy(s[ucitano].prezime,prezime); printf("%s %s %d\n",s[ucitano].ime, s[ucitano].prezime, s[ucitano].poena); ucitano++; } for(i=0; i