В массиве найти 3 максимальных числа и вывести их по убыванию - QBasic

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

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

Дан список учеников класса, содержащий фамилии и средний балл. Вывести на печать фамилии трех лучших по среднему баллу учеников. В поиске искала, там не нашлось решения.

Решение задачи: «В массиве найти 3 максимальных числа и вывести их по убыванию»

textual
Листинг программы
  1. CONST u = 5 'учеников без нулевого, т.е. всего u+1
  2. DIM y(u) AS STRING 'ученики
  3. y(0) = "Иванов"
  4. y(1) = "Петров"
  5. y(2) = "Сидоров"
  6. y(3) = "Козлов"
  7. y(4) = "Баранов"
  8. y(5) = "ПупкинЯЯ"
  9. DIM o(u) AS SINGLE 'оценки(усреднённые)
  10. o(0) = 1.1
  11. o(1) = 2.2
  12. o(2) = 3.3
  13. o(3) = 4.4
  14. o(4) = 5.5
  15. o(5) = 0#
  16. DIM i AS INTEGER 'счётчик
  17. DIM Max1 AS SINGLE
  18. DIM Max2 AS SINGLE
  19. DIM Max3 AS SINGLE
  20. FOR i = 0 TO u
  21.   IF o(i) > Max1 THEN
  22.     Max3 = Max2
  23.     Max2 = Max1
  24.     Max1 = o(i%)
  25.   ELSEIF o(i%) > Max2 THEN
  26.     Max3 = Max2
  27.     Max2 = o(i%)
  28.   ELSEIF o(i%) > Max3 THEN
  29.     Max3 = o(i%)
  30.   END IF
  31. NEXT i%
  32. PRINT Max1
  33. PRINT Max2
  34. PRINT Max3

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

В этом коде:

  1. Объявлены массивы ученики и оценки.
  2. В цикле перебираются оценки, и если текущая оценка больше первой максимальной, то первая максимальная становится третьей, вторая — второй, а текущая оценка становится первой. Если текущая оценка больше второй максимальной, то вторая максимальная становится третьей, а текущая оценка становится второй. Если текущая оценка больше третьей максимальной, то третья максимальная становится равной текущей оценке.
  3. После цикла выводятся все три максимальные оценки.

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


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

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

14   голосов , оценка 4.214 из 5

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

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

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