Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- struct Ocjena {
- char naziv_predmeta[100];
- int ocjena;
- };
- struct Student {
- char ime[20],prezime[20];
- int br_ocjena;
- struct Ocjena ocjene[100];
- };
- double prosjek(struct Student student)
- {
- double suma=0,prosjekOcjena;
- int i=0;
- int brojOcjena=0;
- for(i=0; i<student.br_ocjena; i++) {
- suma+=student.ocjene[i].ocjena;
- if(student.ocjene[i].ocjena!=0) brojOcjena++;
- }
- prosjekOcjena=suma/brojOcjena;
- return prosjekOcjena;
- }
- int top_studenti(struct Student *niz,int vel)
- {
- int i,j,k;
- for(i=0; i<vel; i++) { // funkcija bi trebala izbaciti studente koji nisu u top 10
- int brojBoljihStudenata=0;
- for(j=0; j<vel; j++) {
- if(prosjek(niz[i])<prosjek(niz[j])) brojBoljihStudenata++;
- }
- if(brojBoljihStudenata>=10) { //izbacivanja studenta
- for(k=i; k<vel-1; k++) {
- niz[k]=niz[k+1];
- }
- vel--;
- i--;
- }
- }
- int max=0;
- for(i=0; i<vel; i++) {
- if(prosjek(niz[i])>prosjek(niz[max])) max=i;
- }
- for(i=0; i<niz[max].br_ocjena; i++) {
- if(niz[max].ocjene[i].ocjena==10) printf("%s ",niz[max].ocjene[i].naziv_predmeta);
- }
- printf("\n");
- return vel;
- }
- int main()
- {
- /* AT5: Nule ne ulaze u prosjek */
- struct Student niz[] = {
- {"A", "Student", 5, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"B", "Student", 5, { {"Predmet", 9}, {"Predmet", 10}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"C", "Student", 5, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 8}}},
- {"D", "Student", 4, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 10}}},
- {"E", "Student", 10, { {"Predmet", 10}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"F", "Student", 2, { {"Predmet", 9}, {"Predmet", 10}}},
- {"G", "Student", 20, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 10}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"H", "Student", 5, { {"Predmet", 9}, {"Predmet", 6}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"I", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}}},
- {"J", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 8}, {"Predmet", 6}, {"Predmet", 6}}},
- {"K", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 7}, {"Predmet", 6}}},
- {"L", "Student", 1, { {"OR", 10}}},
- {"M", "Student", 1, { {"Predmet", 8}}},
- {"N", "Student", 3, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 10}}},
- {"O", "Student", 5, { {"Predmet", 10}, {"Predmet", 10}, {"Predmet", 10}, {"Predmet", 10}, {"Predmet", 10}}},
- {"P", "Student", 3, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"Q", "Student", 5, { {"Predmet", 9}, {"Predmet", 7}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 10}}},
- {"R", "Student", 5, { {"Predmet", 7}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"S", "Student", 5, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
- {"T", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 7}, {"Predmet", 7}, {"Predmet", 7}}}
- };
- top_studenti(niz, 20);
- int i;
- for (i=0; i<10; i++) printf("%s ", niz[i].ime);
- return 0;
- }
Add Comment
Please, Sign In to add comment