Найти сумму двух наибольших и двух наименьших чисел - QBasic
Формулировка задачи:
Напишите программу, которая в последовательности целых чисел определяет сумму двух наибольших и сумму двух наименьших. Программа вывести две эти суммы в указанном порядке. Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (т.е. не входит в последовательность). Количество чисел не превышает 1000. Введенные числа по модулю не превышают 30 000.
Помогите пожалуйста Программа должна быть составлена с циклом WHILE...WEND а я немного запуталась(
Решение задачи: «Найти сумму двух наибольших и двух наименьших чисел»
textual
Листинг программы
DEFLNG A-D, I CLS PRINT "Vvedite chislo" PRINT "0 - Konec Vvoda" DIM b(1000) a = 1 i = 0 WHILE a <> 0 INPUT a b(i) = a i = i + 1 WEND c1 = b(0) c2 = b(1) d1 = b(0) d2 = b(1) IF c1 < c2 THEN SWAP c1, c2 IF d1 > d2 THEN SWAP d1, d2 i = 2 WHILE b(i) <> 0 IF c1 < b(i) THEN c2 = c1 c1 = b(i) ELSEIF c2 < b(i) THEN c2 = b(i) END IF IF d1 > b(i) THEN d2 = d1 d1 = b(i) ELSEIF d2 > b(i) THEN d2 = b(i) END IF i = i + 1 WEND PRINT "SUMMA MAX = "; c1 + c2 PRINT "SUMMA MIN = "; d1 + d2 END
Объяснение кода листинга программы
- Запрос на ввод числа и цикла, которая будет выполняться до тех пор, пока пользователь не введет ноль.
- Ввод чисел в массив b(i).
- Выделение первых четырех элементов массива в отдельные переменные c1, c2, d1, d2.
- Если c1 меньше c2, то они меняются местами.
- Если d1 больше d2, то они меняются местами.
- Инициализация переменной i = 2.
- Цикл, который будет выполняться до тех пор, пока не встретит ноль в массиве b(i).
- Если c1 меньше b(i), то c2 заменяется на c1, а c1 на b(i).
- Если c2 меньше b(i), то c2 заменяется на b(i).
- Если d1 больше b(i), то d2 заменяется на d1, а d1 на b(i).
- Если d2 больше b(i), то d2 заменяется на b(i).
- Увеличение i на 1.
- Цикл заканчивается.
- Вывод
SUMMA MAX =
и первые две суммы (c1+c2). - Вывод
SUMMA MIN =
и суммы d1+d2. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д