Здравствуйте, Hikaru!
В задании условие "если в массиве есть хотябы один отрицательный элемент" избыточно, т.к. нужно заменить именно отрицательные элементы, а значит они уже есть. Поэтому действия сводятся к проверке нечетных элементов массивов на отрицательное значение и замене этих значений. Но необходимо уточнение - что имеется в виду под элементами, имеющими "нечетный номер" - это нечетный индекс или нечетный порядковый номер элемента в массиве - так, как индексы начинаются с 0, то это они не будут совпадать: третий по порядку элемент имеет индекс 2.
В приложении программа, в которой "нечетный номер" считается нечетным индексом. Заменен будет элемент b[3]. Если "нечетный номер" - это порядковый номер элемента, то нужно изменить условие во внешнем if на:
if(i % 2 == 0)
В таком случае будет заменен элемент b[2].
Приложение: