int num = Integer.parseInt(reader.readLine());
int maximum = 0;
//напишите тут ваш код
if(num > 0 ){
for(int i = 1; i <= num; i++){
int n = Integer.parseInt(reader.readLine());
if(n > 0)
maximum = n > maximum ? n : maximum;
else if(n < 0)
maximum = n > maximum ? n : maximum;
}
System.out.println(maximum);
}
Vlad Lunin
16 уровень
Что я упустил?
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
IceBergMaster
26 января 2020, 17:29
1) В чём здесь разница?
2) Как работает с отрицательным максимумом?
0
Vlad Lunin
26 января 2020, 17:56
если ввел первое отрицательное число, тогда проверка всеравно начнется, хотя можно ведь и так if(n > 0 || n < 0).
тогда else if и правда не нужен.
Если я правильно понимаю, что если все числа отрицательные, тогда выводить максимум среди них
пример
(-5 -2 -3 -8) вывести -2. Так ведь?
+1
IceBergMaster
26 января 2020, 18:00
Тогда проще уже так
Но я не понимаю зачем это нужно, что с нулём не так?
"если ввел первое отрицательное число, тогда проверка всеравно начнется" - не начнётся, первое число это num, и к этому условию отношения не имеет.
"(-5 -2 -3 -8) вывести -2. Так ведь?" - так, но у тебя так не будет.
0
Vlad Lunin
26 января 2020, 18:10
вот в этом то и проблемма, что когда я ввел все отрицательные числа выводит ноль, а должно максимум из отрицательных
+1