Второе минимальное число из введенных

  • 4
  • Недоступна
В этой задаче нужно: 1. Считывать целые числа с клавиатуры до тех пор, пока не будет введено что-то другое: например, строка или символ. Должно быть введено минимум два числа. Если введено меньше, то такую ситуацию обрабатывать не нужно, а программа может быть завершена с ошибкой. 2. Вывести на
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (235)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Константин Михеев
Уровень 4, Russian Federation
вчера, 11:09
задача со вторым минимальным непростая, но и решить её можно, основываясь на самых простых принципах, которые были до этого. Решение JR не смотрел.
Anonymous #3043537
Уровень 6, Russian Federation
9 мая, 15:40
Совсем не понял как решил, подглядел в ответах. Голова с каждой практикой всё хуже и хуже соображает.
Максим Новиков
Уровень 16, Екатеринбург, Russian Federation
7 мая, 13:41
Выложу небольшой отрезок кода с пояснениями, результат зачло, может кому поможет в решение. int numbermin = keyb.nextInt(); int number2 = keyb.nextInt(); int minmax = numbermin;// переменная что бы сохранить число для иф ниже (здесь опустил одно действие) int vvod = keyb.nextInt(); while{ if (vvod < numbermin){ //если новое число меньше текущего минимального number2 = numbermin; //замена второго минимальное на предыдущее минимальное numbermin = vvod; //замена на новое минимальное } if (number2 == numbermin && vvod > numbermin){//если число больше текущего минимального и минимальное и 2 минимальное равны(такое может быть если 2 первых вводных числа равны) number2 = vvod; } else if (vvod > numbermin && vvod <= number2)//что бы постоянно не увеличивалось 2 число. number2 = vvod;}
Sasha
Уровень 4, Selyatino, Russian Federation
7 мая, 10:26
Не понятная задача а еще больше не понятно ее решение от JavaRush. Вернусь к ней позже может появится понимание.
Valery Zabaluev
Уровень 6, Казань, Russian Federation
1 мая, 16:29
без разбора версии в правильном ответе чето совсем не понятно :(((
Anatolii
Уровень 5, Николаев, Украина
26 апреля, 23:07
Cначала говорят, что программистом может стать и гуманитарий, а потом выдают задачу про второе по величине минимальное число. Нервы! Такими темпами я скорее террористом стану(
Eldos Zhalelov
Уровень 5, Москва, Russian Federation
26 апреля, 19:12
Админ а задача решение ведь неверное; Если введено всего 2 одинаковых числа например 0 и 0; то покажет минимальное значение 0 а не второе минимальное которого не существует; Поправьте если ошибаюсь;
Александр
Уровень 4, Украина
5 мая, 17:24
минимальное из введённых чисел
Зелимхан
Уровень 4, Москва, Russian Federation
15 апреля, 18:15
вообще не понял решение третьей задачи... Можно объяснение в комментариях каждого пункта? Потратил 4 часа на то, чтобы понять логику. Не понял((( "Задача Второе минимальное число из введенных"
Anonymous #3042492
Уровень 6, Днепр, Ukraine
15 апреля, 21:37
Идём по задаче 1.Создаем поток ввода то есть сканер. 2. Создаем и присваиваем значение "минимум" первой переменной(первое входящее значение) потом поток "перепрыгнет" на след число. "инт мин = сканер.естьЧисло()" 3.Создадим еще одну переменную "Х" для хранения максимального значения Integer.MAX_VALUE;. ----> естественно и присвоим его. 3.1 -- Создать промежуточную переменную "ТЕМП" можно пустую. 4. Создадим цикл "while(scanner.hasNextInt()){}" условие возвращает "истина" если там число на входе потока число и заходит в тело цикла. Присвоим в теле цикла, переменной темп значение которое получили от потока то есть из класса СКАНЕР. 5. Первая проверка (на то что наша промежуточная переменная меньше нашего "X" и больше нашего минимума) проверили если и там и там истина то в блоке кода присвоим переменной "Х" значение временной переменной или другими словами заменили наш X. if(temp < x && temp >min) {x = temp}; 6. Второй отдельной проверкой( тавтология) проверим вдруг наше значение которое не прошло первую проверку из-за того что она меньше чем наша переменная минимум и если это так то присвоим ей другое значение в теле. if(temp < min) { x = min, (!!!порядок важен!!!!) min = temp }. Присвоили старое значение "мин" нашему "Х" теперь на новом прохождение цикла первая проверка будет искать значение между "мин" и "Х". И присвоили новое минимально число нашей переменной "мин" переменная "темп" перезапишется на новом прохождении цикла. 7. Выводим за телом цикла "while()----->{тело цикла}<-----" принтлн(значение) = Х. ХЗ понятно или нет.
Romanovsparta
Уровень 7, Москва, Россия
22 апреля, 14:06
Убил на эту задачу много времени, уже решил, что без сохранения всех введенных данных в виде какого-либо множества решить ее не получится. Отредактировал свой код в соответствии с вашим текстом (у меня был почти такой же, только ифы в обратном порядке), проверку прошел. Ура!
Tenth11
Уровень 8
13 апреля, 12:38
Я даже в решением половина не понял, особенно в том решении которое дано в javarush.
Alex
Уровень 12, Санкт-Петербург, Россия
13 апреля, 10:20
сначала стоит сделать поиск простой поиск минимального значения и потом добавить нужные условия: -ввести переменную minB -в цикле до присваивания minA значение введенного числа, присвоить значение minA minB -добавить условие что minB больше введенного числа и введенное число больше minA