Я пытаюсь понять это самостоятельно, и я не могу.
Профессор просит об этом.
Пользователь определит длину последовательности.
Затем пользователь будет вводить числа из любого диапазона, как отрицательные, так и положительные.
Программа:
Найдите два самых больших числа и отобразите их в порядке убывания.
Найдите два самых маленьких числа и отобразите их в порядке возрастания.
Не могу использовать сортировку или массивы.
У меня есть план, но моя голова просто хочет использовать массивы ….. Я не вижу этого простого без массива. Смущенный. Я новичок Я просто хочу помочь. Совет? Репетитор?
Начните с решения более простой проблемы и вырастите в решение реальной проблемы, которую вы решаете:
Задача в обеих вышеуказанных задачах — это начальное значение верхнего / нижнего водяных знаков. Это распространенный источник ошибок; Есть несколько Q&Как и на ТА, объясняющем исправление.
Теперь самое интересное:
Это потребует от вас написать пару if
заявления.
Алгоритм («Найти два самых больших числа в последовательности, не сохраняя последовательность»)
(Я решил восстановить этот ответ. Для ОП может быть полезно уйти от настроения массива)
Input: A sequence of values S.
Output: Values Max and SecondMax.
The consumed, current value of S is E
1 : Set Max to E
2 : Set SecondMax to E (Second value in S)
3 : If Max < SecondMax -> Swap Max and SecondMax.
4 : while ( e:= E exists)
4.1 : If ( e > Max ) SecondMax := Max, Max := e
4.1.1 : Else If ( e > SecondMax ) SecondMax := e
Это тривиально распространено на минимумы.