В исходном массиве найти и вывести второй максимум массива - 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
- 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
Объяснение кода листинга программы
- Объявлены переменные: A, I, M-N, m1, m2, n, a(10).
- Задается размер массива a(10) равный 10.
- Инициализируются элементы массива a(i) случайными числами от -10 до 10 с шагом 20.
- Выводится на экран содержимое массива a(i).
- Определяются две переменные: m1 - второй максимум, m2 - первый максимум.
- Определяется переменная n равная единице.
- Происходит проверка на равенство первого элемента массива a(i) всем остальным элементам.
- Если это условие выполняется, то переменная n увеличивается на единицу.
- Если переменная n равна 10, то выводится сообщение
Vse elementy massiva ravny
и происходит переход к метке 777. - Если условие из пункта 7 не выполняется, то начинается цикл, который проверяет каждый элемент массива a(i) на предмет того, является ли он максимальным.
- Если текущий элемент больше m1, то m2 присваивается значение m1, а m1 принимает значение текущего элемента.
- Если текущий элемент больше m2, но меньше m1, то m2 принимает значение текущего элемента.
- После цикла выводится сообщение с вторым максимумом массива a(i).
- Код заканчивается и происходит переход к метке 777.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д