Исключить два наименьших по абсолютной величине элемента из массива - QBasic

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

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

Дан массив R из N элементов, исключить два наименьших по абсолютной величине элемента. Результат распечатать в виде: Исходный массив : Число элементов : Два наименьших элемента: Новый массив :

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

textual
Листинг программы
DECLARE SUB SDV (a!(), k!, n!)
CLS
RANDOMIZE TIMER
CONST n = 14
DIM R(1 TO n)
 
FOR i = 1 TO n
   R(i) = INT(40 * RND) - 20
   PRINT R(i);
NEXT
PRINT : PRINT
PRINT "N ="; n
PRINT
 
min = ABS(R(1))
ind = 1
 
FOR i = 1 TO n
   M = ABS(R(i))
   IF min > M THEN
      min = M
      ind = i
   END IF
NEXT
 
IF ind <> 1 THEN
   min2 = ABS(R(1))
   ind2 = 1
ELSE
   min2 = ABS(R(2))
   ind2 = 2
END IF
 
FOR i = 1 TO n
   IF i <> ind THEN
      M = ABS(R(i))
      IF min2 > M THEN
         min2 = M
         ind2 = i
      END IF
   END IF
NEXT
 
PRINT "R("; ind; ") ="; R(ind)
PRINT "R("; ind2; ") ="; R(ind2)
PRINT
 
IF ind < ind2 THEN
   CALL SDV(R(), ind2, n)
   CALL SDV(R(), ind, n - 1)
ELSE
   CALL SDV(R(), ind, n)
   CALL SDV(R(), ind2, n - 1)
END IF
 
R(n) = 0
R(n - 1) = 0
 
FOR i = 1 TO n - 2
   PRINT R(i);
NEXT
END
 
 
SUB SDV (a(), k, n)
   FOR i = k TO n - 1
      a(i) = a(i + 1)
   NEXT i
END SUB

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

Код выполняет следующие действия:

  1. Создает массив рандомных чисел от -20 до 20 и выводит его на экран.
  2. Находит минимальное значение в массиве по модулю и индекс этого значения.
  3. Если индекс первого минимального значения не равен 1, то ищет второе минимальное значение.
  4. Выводит на экран два наименьших по модулю значения из массива.
  5. Если первое минимальное значение больше второго, то меняет их местами с помощью подпрограммы SDV.
  6. Удаляет из массива первое и второе минимальные значения, заменяя их на 0.
  7. Выводит на экран оставшиеся значения массива, кроме двух последних, которые заменены на 0.
  8. Подпрограмма SDV используется для удаления элементов из массива, заменяя их на следующие элементы.

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


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

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

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