Ok, pomińmy Twój tok myślenia, ale zapis taki jak masz :
naj-tab[i]<naj;
lub
(naj-tab[i])*(-1)<naj;
, które znajdują się w środku ifów - nie w nawiasie, tylko w środku - w C++ nie oznacza nic chyba... może poza wyrażeniem logicznym. Albo wstaw to dodatkowo w "if" lub przyrównaj to do czegoś... Może się mylę, może ktoś mnie wyprowadzi z błędu, ale tak sądzę Zauważ, że jak wyrzucisz linię33 i 38 to nic się w wyniku nie zmieni.
a co do samego zadania, to tok myślenia masz chyba prawidłowy, ale zapis do du***