Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/232: Рейтинг темы: голосов - 232, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 24.06.2020
Сообщений: 9
1

Второй минимум

25.06.2020, 14:44. Показов 46480. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Второй минимум
Последовательность состоит из натуральных чисел и завершается числом 0. Определите значение второго минимального по величине элемента в этой последовательности, то есть элемента, который будет наименьшим, если из последовательности удалить наименьший элемент.

Последнее число 0 не учитывается. Гарантируется, что в последовательности есть хотя бы два элемента (кроме завершающего числа 0).

Входные данные

На вход подаётся последовательность целых неотрицательных чисел, заканчивающаяся нулём. Все числа в последовательности неотрицательные, по значению не превосходящие 109.

Выходные данные

Выведите ответ на задачу.

Примеры
Ввод
1
7
9
0
3
2
2
1
1
0
Вывод
7
1

Вот мой код:
Python
1
2
3
4
5
6
7
8
9
min 1 = 10**9
min 2 = 10**9
elem = int(input())
while elem!=0:
     if elem < min 1:
         min 2 = min 1
         min 1 = elem
     elem = int(input())
print(min 2)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2020, 14:44
Ответы с готовыми решениями:

Второй минимум
Дан одномерный массив из n целых чисел. Подсчитайте, сколько раз в этом массиве встречается...

С использованием цикла for записать максимум, второй максимум и минимум
Задача: Пользователь вводит 100 целых чисел, с использованием цикла for нужно записать максимум,...

Если вся 1-я строка присутствует во второй, то удалить из второй строки первую
Создать две строки и если вся 1-я строка присутствует во второй, то удалить из второй строки первую.

Напечатать все символы, расположенные между первой и второй запятыми. Если второй запятой нет, то должны быть напечатан
Дано предложение. Напечатать все символы, расположенные между первой и второй запятыми. Если...

5
291 / 193 / 104
Регистрация: 14.11.2017
Сообщений: 489
25.06.2020, 15:54 2
Python
1
2
3
4
5
6
7
8
ls = []
num = int(input())
while num != 0:
    ls.append(num)
    num = int(input())
ls = set(ls)
ls.remove(min(ls))
print(min(ls))
1
1728 / 968 / 199
Регистрация: 22.02.2018
Сообщений: 2,694
Записей в блоге: 6
25.06.2020, 22:27 3
Условие расплывчатое. Выходные данные не определены. Нужно ли выводить только второй минимальный элемент, как написано в условии
Цитата Сообщение от Ada626 Посмотреть сообщение
Определите значение второго минимального по величине элемента в этой последовательности, то есть элемента, который будет наименьшим, если из последовательности удалить наименьший элемент.
Или выводить нужно два минимальных элемента, как в примере?
В условии говорится только о завершающем нуле "0"
Цитата Сообщение от Ada626 Посмотреть сообщение
Последнее число 0 не учитывается. Гарантируется, что в последовательности есть хотя бы два элемента (кроме завершающего числа 0)
а в примере не учитывается первый встречающийся ноль и все числа после него.
Наблюдаем явное не соответствие условия и примера.

Добавлено через 4 минуты
По логике, если первый встреченный ноль "0" должен заканчивать рассмотрение чисел, то нужно было бы при вводе нуля "0" прервать ввод новых чисел, так как это становится бессмысленным для данной задачи.
1
1 / 1 / 0
Регистрация: 24.06.2020
Сообщений: 9
26.06.2020, 18:33  [ТС] 4
В коде программы используются массив и функция получения множества set, что запрещено условиями задачи.
0
4252 / 2948 / 688
Регистрация: 08.06.2007
Сообщений: 9,853
Записей в блоге: 4
26.06.2020, 20:06 5
Лучший ответ Сообщение было отмечено Ada626 как решение

Решение

Ada626, продолжил вашу программу.
Python
1
2
3
4
5
6
7
8
9
10
11
min1 = 10**9
min2 = 10**9
elem = int(input())
while elem!=0:
    if elem < min1:
        min2 = min1
        min1 = elem
    elif elem < min2:
        min2 = elem
    elem = int(input())
print(min2)
2
4 / 4 / 0
Регистрация: 13.03.2021
Сообщений: 19
13.03.2021, 22:00 6
Как-то так


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
m1=int(input())
m2=int(input())
if m2<m1:
    m1,m2=m2,m1
a=int(input())
while a!=0:
    if a<m1:
        m2=m1
        m1=a
    elif a<m2:
        m2=a
    a=int(input())
print(m2)
0
13.03.2021, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2021, 22:00
Помогаю со студенческими работами здесь

Второй минимум
Второй минимум Последовательность состоит из натуральных чисел и завершается числом 0. Определите...

Второй минимум
Второй минимум Последовательность состоит из натуральных чисел и завершается числом 0. Определите...

Дописать программу, найти второй минимум и максимум
Помогите пожалуйста дописать программу на С! :gsad: Буду очень благодарна всем кто поможет..... ...

Определить минимум в первой половине массива и максимум во второй
Привет! Не могу понять, как ограничить итерации цикла на середине массива? Задание: Определить...

Даны две матрицы. В каждой матрице вычислить минимум из элементов, стоящих во второй половине, относительно строк( количество строк четное),, и найти
Нужно написать программы(консольное приложение) в делфи самым простым способом без...

Найти минимум среди элементов первой половины массива и максимум среди второй половины
Ввести одномерный массив A, вывести его. Найти минимум среди элементов первой половины массива и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru