Найти сумму двух наибольших и двух наименьших чисел - QBasic

Узнай цену своей работы

Формулировка задачи:

Напишите программу, которая в последовательности целых чисел определяет сумму двух наибольших и сумму двух наименьших. Программа вывести две эти суммы в указанном порядке. Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (т.е. не входит в последовательность). Количество чисел не превышает 1000. Введенные числа по модулю не превышают 30 000. Помогите пожалуйста Программа должна быть составлена с циклом WHILE...WEND а я немного запуталась(

Решение задачи: «Найти сумму двух наибольших и двух наименьших чисел»

textual
Листинг программы
  1. DEFLNG A-D, I
  2. CLS
  3. PRINT "Vvedite chislo"
  4. PRINT "0 - Konec Vvoda"
  5. DIM b(1000)
  6.  
  7. a = 1
  8. i = 0
  9. WHILE a <> 0
  10.    INPUT a
  11.    b(i) = a
  12.    i = i + 1
  13. WEND
  14.  
  15. c1 = b(0)
  16. c2 = b(1)
  17. d1 = b(0)
  18. d2 = b(1)
  19.  
  20. IF c1 < c2 THEN SWAP c1, c2
  21. IF d1 > d2 THEN SWAP d1, d2
  22. i = 2
  23. WHILE b(i) <> 0
  24.    IF c1 < b(i) THEN
  25.       c2 = c1
  26.       c1 = b(i)
  27.    ELSEIF c2 < b(i) THEN
  28.       c2 = b(i)
  29.    END IF
  30.  
  31.    IF d1 > b(i) THEN
  32.       d2 = d1
  33.       d1 = b(i)
  34.    ELSEIF d2 > b(i) THEN
  35.       d2 = b(i)
  36.    END IF
  37.    i = i + 1
  38. WEND
  39. PRINT "SUMMA MAX = "; c1 + c2
  40. PRINT "SUMMA MIN = "; d1 + d2
  41. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы