Задача по алгоритмам

  • 3
  • Недоступна
Все классические алгоритмы уже давным-давно запрограммированы. Тем не менее, задачки на алгоритмы — очень ценны. Хотя бы тем, что, развивают мышление программиста. В алгоритме поиска максимума ничего сложного и нет. Так что не медлим: пишем программу, в которой задаем положительное целое число n, затем вводим n чисел и находим максимальное среди них.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (171)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Сергей7 уровень
30 апреля, 13:46
Я вот тоже сначала подумал про минимальный Integer, но потом просто присвоил переменной maximum значение первого введенного числа в первом проходе цикла. А в начале просто maximum = 0.
ProgX10 уровень
26 апреля, 17:52
Указывать в условии минимальные границы int считаю не правильно. Вот так вывернулся я
Integer maximum= null; \\определяем что начальное значение перед вводом null
а в самом условии счетчика и проверки максимума вписываем условие
if (maximum==null || maximum <x ) maximum = x;
Таким образом проскакиваем первое сравнение с пустым значением и присваиваем максимуму первое введеное Проверку прошел
Sherlock04048 уровень, Москва
21 апреля, 18:45
А в чем собственно говоря разница, если при int maximum = 0; у меня тоже выводилось максимальное значение?!
Арсен 8 уровень, Львов
19 апреля, 19:51
задача в том что нужно проверить число if (N>0) потом ету N использовать в качестве параметра(сколько раз нужно зделать циклов)
for(int i = 0;i<N;i++)),
а в цикле считывать новоэ число
int a = Integer.parseInt(reader.readLine());
и сравнить с максимальным
if(a>maximum)maximum = a;
потом когда цикл завершится вывести максимальное
System.out.println(maximum);
Vladimir Kirsanov8 уровень, Москва
17 апреля, 14:41
Я вот решил с подсказками,но понять эту шляпу у меня не получилось.Про считывание строк понятно.Непонятно как работает здесь цикл и как по другому можно ввести число максимум
Haumi17 уровень, Санкт-Петербург
14 апреля, 21:18
Чет вообще ужас, а не задачка. Если ее делать в IntelliJ IDEA, то мы из цикла for не выйдем и будем до бесконечности вводить числа.
Юрий7 уровень
3 апреля, 12:54
Всё разобрался, спасибо всем за помощь и подсказки, задача непростая конечно Особенно про int maximum = Integer.MIN_VALUE;, не сразу понял Для тех кто в поиске: 1. сначала присваиваем int maximum = Integer.MIN_VALUE; 2. вводим переменную , допустим N - это у нас будет количество чисел , которые мы будем вводить 3. Потом цикл for(при N > 0) 4. Внутри цикла for, помещаем что то вроде вот этого: int number = Integer.parseInt(reader.readLine()); if (number> maximum) maximum = number; ну далее System.out.println(maximum); Не забываем конечно правильно расставить { } Совсем вроде раскрыл, но в рамках правил!!!! Удачи!
Юрий7 уровень
3 апреля, 11:48
Объясните пожалуйста что значит в решении строка if (number> maximum)maximum = number; как это понять? Вопрос к тем, кто уже решил....
Alexander Morkvashyov7 уровень, Самара
9 апреля, 19:33
Перед циклом ты предварительно "от руки" назначаешь значение переменной maximum самое маленькое число в диапазоне переменных int, а это -2147483648 (тут в каментах пишут что можно было написать int maximum = Integer.MIN_VALUE, ну да ладно). Далее запускается цикл n раз, а число number это вводимые с клавы числа, если введенное число number больше текущего максимума (а изначально максимум -2147483648), то maximum становится равен number, если нет, то у maximum остается текущее значение. И так n раз.
grr13 уровень, Москва
29 марта, 07:18
задание не корректно сформулировано. указано, что должно выводиться число и максимальное из введенных чисел, т.е. два вывода на экран, а в проверке требует вывести только одно число.
Михаил10 уровень
27 марта, 12:49
у примитива Int есть пределы значений. записать можно как Integer.MIN_VALUE Integer.MAX_VALUE -2147483648 2147483647