В этой задаче нужно:
1. Считывать целые числа с клавиатуры до тех пор, пока не будет введено что-то другое: например, строка или символ.
Должно быть введено минимум два числа. Если введено меньше, то такую ситуацию обрабатывать не нужно, а программа может быть завершена с ошибкой.
2. Вывести на
Второе минимальное число из введенных
- 4
Недоступна
Комментарии (235)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Константин Михеев
вчера, 11:09
задача со вторым минимальным непростая, но и решить её можно, основываясь на самых простых принципах, которые были до этого. Решение JR не смотрел.
0
Anonymous #3043537
9 мая, 15:40
Совсем не понял как решил, подглядел в ответах. Голова с каждой практикой всё хуже и хуже соображает.
0
Максим Новиков
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;}
0
Sasha
7 мая, 10:26
Не понятная задача а еще больше не понятно ее решение от JavaRush. Вернусь к ней позже может появится понимание.
0
Valery Zabaluev
1 мая, 16:29
без разбора версии в правильном ответе чето совсем не понятно :(((
+1
Anatolii
26 апреля, 23:07
Cначала говорят, что программистом может стать и гуманитарий, а потом выдают задачу про второе по величине минимальное число. Нервы! Такими темпами я скорее террористом стану(
+4
Eldos Zhalelov
26 апреля, 19:12
Админ а задача решение ведь неверное;
Если введено всего 2 одинаковых числа например 0 и 0;
то покажет минимальное значение 0 а не второе минимальное которого не существует;
Поправьте если ошибаюсь;
0
Александр
5 мая, 17:24
минимальное из введённых чисел
0
Зелимхан
15 апреля, 18:15
вообще не понял решение третьей задачи... Можно объяснение в комментариях каждого пункта? Потратил 4 часа на то, чтобы понять логику. Не понял((( "Задача
Второе минимальное число из введенных"
+2
Anonymous #3042492
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()----->{тело цикла}<-----" принтлн(значение) = Х.
ХЗ понятно или нет.
+6
Romanovsparta
22 апреля, 14:06
Убил на эту задачу много времени, уже решил, что без сохранения всех введенных данных в виде какого-либо множества решить ее не получится. Отредактировал свой код в соответствии с вашим текстом (у меня был почти такой же, только ифы в обратном порядке), проверку прошел. Ура!
0
Tenth11
13 апреля, 12:38
Я даже в решением половина не понял, особенно в том решении которое дано в javarush.
0
Alex
13 апреля, 10:20
сначала стоит сделать поиск простой поиск минимального значения и потом добавить нужные условия:
-ввести переменную minB
-в цикле до присваивания minA значение введенного числа, присвоить значение minA minB
-добавить условие что minB больше введенного числа и введенное число больше minA
0