Найти сумму двух наибольших и двух наименьших чисел - 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

Объяснение кода листинга программы

  1. Запрос на ввод числа и цикла, которая будет выполняться до тех пор, пока пользователь не введет ноль.
  2. Ввод чисел в массив b(i).
  3. Выделение первых четырех элементов массива в отдельные переменные c1, c2, d1, d2.
  4. Если c1 меньше c2, то они меняются местами.
  5. Если d1 больше d2, то они меняются местами.
  6. Инициализация переменной i = 2.
  7. Цикл, который будет выполняться до тех пор, пока не встретит ноль в массиве b(i).
  8. Если c1 меньше b(i), то c2 заменяется на c1, а c1 на b(i).
  9. Если c2 меньше b(i), то c2 заменяется на b(i).
  10. Если d1 больше b(i), то d2 заменяется на d1, а d1 на b(i).
  11. Если d2 больше b(i), то d2 заменяется на b(i).
  12. Увеличение i на 1.
  13. Цикл заканчивается.
  14. Вывод SUMMA MAX = и первые две суммы (c1+c2).
  15. Вывод SUMMA MIN = и суммы d1+d2.
  16. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы