В исходном массиве найти и вывести второй максимум массива - QBasic

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

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

В исходном массиве найти и вывести второй максимум массива (элемент который в отсортированном по не возрастанию массиве стоял бы вторым).

Решение задачи: «В исходном массиве найти и вывести второй максимум массива»

textual
Листинг программы
DEFINT A, I, M-N
OPTION BASE 1
DIM a(10)
CLS
RANDOMIZE TIMER
 
FOR i = 1 TO 10
   a(i) = 20 * RND - 10
   PRINT USING "###"; a(i);
NEXT i
PRINT
m1 = a(1)
m2 = m1 - 1
n = 1
 
FOR i = 2 TO 10
   IF a(1) = a(i) THEN n = n + 1
NEXT i
 
IF n = 10 THEN
   PRINT "Vse elementy massiva ravny"
   GOTO 777
END IF
 
FOR i = 2 TO 10
   IF a(i) > m1 THEN
      m2 = m1
      m1 = a(i)
   ELSEIF (a(i) > m2) AND (a(i) < m1) THEN
      m2 = a(i)
   END IF
NEXT i
PRINT "  MAX2 = "; m2
777
END

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

  1. Объявлены переменные: A, I, M-N, m1, m2, n, a(10).
  2. Задается размер массива a(10) равный 10.
  3. Инициализируются элементы массива a(i) случайными числами от -10 до 10 с шагом 20.
  4. Выводится на экран содержимое массива a(i).
  5. Определяются две переменные: m1 - второй максимум, m2 - первый максимум.
  6. Определяется переменная n равная единице.
  7. Происходит проверка на равенство первого элемента массива a(i) всем остальным элементам.
  8. Если это условие выполняется, то переменная n увеличивается на единицу.
  9. Если переменная n равна 10, то выводится сообщение Vse elementy massiva ravny и происходит переход к метке 777.
  10. Если условие из пункта 7 не выполняется, то начинается цикл, который проверяет каждый элемент массива a(i) на предмет того, является ли он максимальным.
  11. Если текущий элемент больше m1, то m2 присваивается значение m1, а m1 принимает значение текущего элемента.
  12. Если текущий элемент больше m2, но меньше m1, то m2 принимает значение текущего элемента.
  13. После цикла выводится сообщение с вторым максимумом массива a(i).
  14. Код заканчивается и происходит переход к метке 777.

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


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

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

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