Solomid

3.

Feb 18th, 2020
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.45 KB | None | 0 0
  1. #include <stdio.h>
  2. struct Ocjena {
  3.     char naziv_predmeta[100];
  4.     int ocjena;
  5. };
  6. struct Student {
  7.     char ime[20],prezime[20];
  8.     int br_ocjena;
  9.     struct Ocjena ocjene[100];
  10. };
  11. double prosjek(struct Student student)
  12. {
  13.     double suma=0,prosjekOcjena;
  14.     int i=0;
  15.     int brojOcjena=0;
  16.     for(i=0; i<student.br_ocjena; i++) {
  17.         suma+=student.ocjene[i].ocjena;
  18.         if(student.ocjene[i].ocjena!=0) brojOcjena++;
  19.     }
  20.     prosjekOcjena=suma/brojOcjena;
  21.     return prosjekOcjena;
  22. }
  23.  
  24. int top_studenti(struct Student *niz,int vel)
  25. {
  26.     int i,j,k;
  27.     for(i=0; i<vel; i++) { // funkcija bi trebala izbaciti studente koji nisu u top 10
  28.         int brojBoljihStudenata=0;
  29.         for(j=0; j<vel; j++) {
  30.             if(prosjek(niz[i])<prosjek(niz[j])) brojBoljihStudenata++;
  31.         }
  32.         if(brojBoljihStudenata>=10) { //izbacivanja studenta
  33.             for(k=i; k<vel-1; k++) {
  34.                 niz[k]=niz[k+1];
  35.             }
  36.             vel--;
  37.             i--;
  38.         }
  39.     }
  40.     int max=0;
  41.     for(i=0; i<vel; i++) {
  42.         if(prosjek(niz[i])>prosjek(niz[max])) max=i;
  43.     }
  44.     for(i=0; i<niz[max].br_ocjena; i++) {
  45.         if(niz[max].ocjene[i].ocjena==10) printf("%s ",niz[max].ocjene[i].naziv_predmeta);
  46.     }
  47.     printf("\n");
  48.     return vel;
  49. }
  50. int main()
  51. {
  52.     /* AT5: Nule ne ulaze u prosjek */
  53.     struct Student niz[] = {
  54.         {"A", "Student", 5, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
  55.         {"B", "Student", 5, { {"Predmet", 9}, {"Predmet", 10}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
  56.         {"C", "Student", 5, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 8}}},
  57.         {"D", "Student", 4, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 10}}},
  58.         {"E", "Student", 10, { {"Predmet", 10}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
  59.         {"F", "Student", 2, { {"Predmet", 9}, {"Predmet", 10}}},
  60.         {"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}}},
  61.         {"H", "Student", 5, { {"Predmet", 9}, {"Predmet", 6}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
  62.         {"I", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}}},
  63.         {"J", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 8}, {"Predmet", 6}, {"Predmet", 6}}},
  64.         {"K", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 7}, {"Predmet", 6}}},
  65.         {"L", "Student", 1, { {"OR", 10}}},
  66.         {"M", "Student", 1, { {"Predmet", 8}}},
  67.         {"N", "Student", 3, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 10}}},
  68.         {"O", "Student", 5, { {"Predmet", 10}, {"Predmet", 10}, {"Predmet", 10}, {"Predmet", 10}, {"Predmet", 10}}},
  69.         {"P", "Student", 3, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
  70.         {"Q", "Student", 5, { {"Predmet", 9}, {"Predmet", 7}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 10}}},
  71.         {"R", "Student", 5, { {"Predmet", 7}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
  72.         {"S", "Student", 5, { {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}, {"Predmet", 9}}},
  73.         {"T", "Student", 5, { {"Predmet", 6}, {"Predmet", 6}, {"Predmet", 7}, {"Predmet", 7}, {"Predmet", 7}}}
  74.     };
  75.  
  76.     top_studenti(niz, 20);
  77.     int i;
  78.     for (i=0; i<10; i++) printf("%s ", niz[i].ime);
  79.     return 0;
  80. }
Add Comment
Please, Sign In to add comment