Po pierwsze nigdzie nie uzywasz zmiennej najblizej.
po drugie od tego masz tablice, żeby po nich iterować pętlą for.
Tej tablicy tb w ogóle nie potrzebujesz. Można to zrobić znacznie wydajniej. W jakiejś pętli obliczaj odleglosc od sredniej kolejnych liczb (zapisanych w tablicy ofc) i zapisuj w jakiejs pojedynczej zmiennej. Na bieżąco porownuj ją z kolejną odlgloscia i na tej podstawie wybierz odpowiednią liczbe.
Co do tych ifów - to tak nie działa. Każdy ze składników pomiędzy operatorami && ma być boolem. Wszystko poza pierwszym u ciebie jest floatem, a float (tak samo jak wszystkie inne typy podstawowe są konwertowane na bool na zasadzie 0 -> false, cokolwiek innego -> true. Poza tym powinny to być else ify. Tutaj wszystkie ify zawsze się wykonają, a jakby to wyglądało tak:
if(war1) ... else if(war2) ... else if(war3) ... ...
To wykona się tylko tyle dopóki którychś z warunków nie zwróci true. Oczywiście nie mówie, żebyś zmieniał to na te else ify, bo czegoś takiego w ogóle nie powinno tu być.