Проблема в int max = 0; Если ввести например число 5, и потом последовательно 5 отрицательных чисел, оно ожидаемо выдаст ответ 0. Если никак не инициализировать эту переменную изначально, то компилятор выдаёт ошибку. Не могу придумать как адекватно сравнить её с отрицательными числами.