zad. Koliko je učesnika takmičenja imalo natprosečne rezultate?
Rešenje:
Rasčlanjujemo problem na sledeće module:
1. Učitavanje vrednosti elemenata niza
2. Izračunavanje prosečnog rezultata
3. Prebrojavanje natprosečnih reyultata
4. Izveštaj!
Za izračunavanje proseka koristimo funkciju prosek(); deklaracija x[] u funkciji kreira ne niz već pokazivač na niz
#include <stdio.h>
/*deklaracija niza*/
float prosek(int x[],int n)
{
int i, suma;
suma=0;
for(i=0;i<n,suma+=x[i];i++);
return((float)suma/n);
}
main()
{
int n,i,broj, ocena[50];
float prosek;
printf(„Uunesi broj takmicara?“);
scanf(„%d“,&n);
/*Ucitavanje elemente niza*/
for(i=0;i<n;i++);
{
printf(„ocena[%d]=“,i);
scanf(„%d“,&ocena[i]);
}
/* Prebrojavanje nadprosecnih rezultata*/
broj=0;
for(i=0;i<n;i++)
{
if (ocena[i] >prosek(ocena,n))
broj++;
};
Printf(„Prosecni rezultat je %f\n“,prosek(ocena,n));
printf(„Nadprosecne rezultate je imalo %dtakmicara \n“,broj);
return 0;
}
Prenos jednodimenzionalnog niza se ostvaruje navodjenjem imena niza u poyivu funkcije bez indeksa. Oni se prenose iskljucivo po adresi. Prenos nizova kao vrednosnih parametara nije moguć u C-u