///////////////////////////////////////////////////////////////////////
// ITS – Visoka Škola Strukovnih Studija Za Informacione Tehnologije
// https://www.its.edu.rs/
// Predmet: Osnovi Programiranja – Programski jezik C
//
// Primer: Program za izracunavanje statistike ispita.
// Ucitavanje broja studenata i njihovih ocena na ispitu.
// Odredjivanje broja polozenih i broja nepolozenih na ispitu.
// Odredjivanje prosecne ocene i prosecne ocene polozenih.
// Odredjivanje broja studenata sa natprosecnim ocenama.
///////////////////////////////////////////////////////////////////////
#include <stdio.h>
float prosek(int x[], int n);
float prosekPolozenih(int x[], int n);
int brojPolozenih (int x[], int n);
int brojNepolozenih (int x[], int n);
int brojNatprosecnih (int x[], int y[], int n, float m);
main()
{
int student[50];
int ocena[50];
int i,n,brojProlaznih,brojSlabih, brojIznadProseka;
float prosecnaOcena, prosecnaPolozenih;
// unos broja studenata
printf("Unesite broj studenata: ");
scanf("%d",&n);
//unos ocena studenata
printf("Unesite ocene studenata od 5 do 10:
");
for(i=0;i<n;i++)
{
printf("Ocena Studenta %d = ",i);
scanf("%d",&ocena[i]);
}
// inicijalizacija niza
for(i=0; i<50; i++)
{
student[i] = 0;
}
//poziv fukcije za izracunavanje broja polozenih na ispitu
brojProlaznih = brojPolozenih(ocena,n);
//poziv fukcije za izracunavanje broja nepolozenih na ispitu
brojSlabih = brojNepolozenih(ocena,n);
//poziv fukcije za izracunavanje prosecne ocene
prosecnaOcena = prosek(ocena,n);
//poziv fukcije za izracunavanje proseka polozenih
prosecnaPolozenih = prosekPolozenih(ocena,n);
//poziv fukcije za izracunavanje broja ocena iznad proseka
brojIznadProseka = brojNatprosecnih (ocena,student,n,prosecnaOcena);
printf("Ukupno polozenih na ispitu je %d
",brojProlaznih);
printf("Ukupno nepolozenih na ispitu je %d
",brojSlabih);
printf("Prosek ocena na ispitu je %.2f
",prosecnaOcena);
printf("Prosecna ocena polozenih na ispitu je %.2f
",prosecnaPolozenih);
printf("Rezultate iznad prosecne ocene imalo je %d studenata
",brojIznadProseka);
for(i=0;student[i]>0;i++)
{
printf("Student sa rednim brojem %d dobio je ocenu %d
",student[i],ocena[student[i]]);
}
}
//funkcija za izracunavanje prosecne ocene
float prosek(int x[], int n)
{
int i;
float suma =0;
for(i=0;i<n;i++)
suma+=x[i];
return (suma/n);
}
//funkcija za izracunavanje proseka polozenih
float prosekPolozenih(int x[], int n)
{
int i,j=0;
float suma =0;
for(i=0;i<n;i++)
if(x[i]>5)
{
suma+=x[i];
j++;
}
return (suma/j);
}
//funkcija za izracunavanje broja polozenih na ispitu
int brojPolozenih (int x[], int n)
{
int i,broj=0;
for(i=0;i<n;i++)
if(x[i]>5)
broj++;
return broj;
}
//funkcija za izracunavanje broja nepolozenih na ispitu
int brojNepolozenih (int x[], int n)
{
int i,broj=0;
for(i=0;i<n;i++)
if(x[i] == 5)
broj++;
return broj;
}
//funkcija za izracunavanje broja ocena iznad proseka
int brojNatprosecnih (int x[], int y[], int n, float m)
{
int i;
int j=0;
for(i=0;i<n;i++)
{
if(x[i] > m)
{
y[j]=i;
j++;
}
}
return j;
}