int niz[5] //5 fiksnih elemenata
Ne vidim da dalje u kodu igdje imas provjeru da li si prekardasio sa indexom:
1. u do/while petlji
niz[i] = neparni_broj;//tu ce vrisnut nakon 5 unesenih
2. for petlja kasnije ima takodjer neki cudan uvjet:
for(int i =0; i<niz[i]; i++)
plus si mogao stavit break kad nadjes najveci...
al vidim da se OP ne buni, valjda je njemu ok :)
Probaj unijeti broj manji od 0.
Ne treba niti niz. Dovoljan je jedan integer za spremanje najveće vrijednosti i jedan za spremanje trenutnog unosa.
Iako autor to tvrdio, rješenje nije valjani "C" kod.
Kompajlira se bez prijavljivanja tog upozorenja (GCC 10.3, -Wall, -Wextra, -fpedantic) , izvršava se bez rušenja, ali pedantni će lako vidjeti gdje je problem.
Prijavljena upozorenja:
Po mom skromnom mišljenju, a pošto je ovo C++ tema, najbolje rješenje uključivalo bi barem jedan template (npr. "veći-od"), lambdu i Boost za parsanje inputa.
U prethodnom prijedlogu nisam se dovoljno potrudio.
Ja volim koristit std c++ strukture, npr std::set bi to automatski posortirao unesene po velicini, a ja bi kod inserta samo gledao jel neparni. A bas jos i boost ukljucit za ovo je mozda mali overkill :) ...iako u stvarnom zivotu bi ga koristio.