#include <iostream>
template<typename TipElemenata>
struct Cvor{
TipElemenata element;
Cvor *veza;
};
template <typename TipElemenata>
Cvor<TipElemenata> *KreirajPovezanuListu(const TipElemenata &zavrsni){
Cvor<TipElemenata> *pocetak{}, *prethodni;
for(; ;){
TipElemenata v;
if(!(std::cin >> v)) return pocetak;
if(v == zavrsni) return pocetak;
Cvor<TipElemenata> *novi = new Cvor<TipElemenata> {v, nullptr};
if(!pocetak) pocetak = novi;
else prethodni -> veza = novi;
prethodni = novi;
}
}
template <typename TipElemenata>
int BrojElemenata(Cvor<TipElemenata> *pocetak){
int brojac = 0;
for(auto p = pocetak; p != nullptr; p = p ->veza)
brojac ++;
return brojac;
}
template <typename TipElemenata>
TipElemenata SumaElemenata(Cvor<TipElemenata> *pocetak){
TipElemenata suma{};
for(auto p = pocetak; p != nullptr; p = p -> veza) suma +=p ->element;
return suma;
}
template <typename TipElemenata>
int BrojVecihOd(Cvor<TipElemenata> *pocetak, const TipElemenata &prag){
int brojac = 0;
for(auto p = pocetak; p != nullptr; p = p -> veza){
if(p->element > prag) brojac ++;
}
return brojac;
}
template <typename TipElemenata>
void UnistiListu(Cvor<TipElemenata> *pocetak){
Cvor<TipElemenata> *sljedeci;
for(auto p = pocetak; p != nullptr; p = sljedeci){
sljedeci = p->veza;
delete p;
}
}
int main() {
std::cout << "Unesite slijed brojeva (0 za kraj): ";
auto lista = KreirajPovezanuListu<double>(0);
if(BrojElemenata(lista) == 0) { std::cout <<"Nema brojeva u listi"; return 0; }
std::cout << "U slijedu ima "
<< BrojVecihOd(lista, SumaElemenata(lista) / BrojElemenata(lista))
<< " brojeva vecih od njihove aritmeticke sredine\n";
UnistiListu(lista);
std::cout << "Hello world!" << std::endl;
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: