Заменить все отрицательные элементы массива на нуль - QBasic

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

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

Нужна помощь...) В массиве R, состоящим из N элементов заменить все отрицательные элементы на нуль. Результат распечатать в виде: Число элементов: Исходный массив: Новый массив: Вторая прога: Найти сумму модулей компонентов вектора z

9 S = Σ |Zi| i=1

Если zi=(фигурная скобочка-система)
sin i при cos i < 0,5 ctg i^2 при cos i >= 0,5.

Решение задачи: «Заменить все отрицательные элементы массива на нуль»

textual
Листинг программы
DECLARE SUB Noll (a%(), n!)
CLS
RANDOMIZE TIMER
 
INPUT "N = "; n
DIM a(1 TO n) AS INTEGER
PRINT "CHISLO ELEMENTOV"; n
PRINT
PRINT "ISHODNY MASSIV"
PRINT
 
FOR i = 1 TO n
   a(i) = 40 * RND - 20
   PRINT a(i);
NEXT i
PRINT : PRINT
 
CALL Noll(a(), n)
 
PRINT "NOVY MASSIV"
PRINT
FOR i = 1 TO n
   PRINT a(i);
NEXT i
 
END
 
SUB Noll (a() AS INTEGER, n)
   IF n = 0 THEN EXIT SUB
   IF a(n) <= 0 THEN a(n) = 0
   CALL Noll(a(), n - 1)
END SUB

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

Детали кода:

  1. DECLARE SUB Noll (a%(), n!) - Эта строка определяет подпрограмму с именем Noll, которая принимает два аргумента типа a%(), который является массивом целых чисел, и n!, который является целым числом.
  2. CLS - Очищает экран перед началом программы.
  3. RANDOMIZE TIMER - Эта строка инициализирует генератор случайных чисел, чтобы каждый раз получать разные случайные числа.
  4. INPUTN = ; n - Запрашивает у пользователя ввод количества элементов для массива.
  5. DIM a(1 TO n) AS INTEGER - Создает массив целых чисел с заданным количеством элементов.
  6. PRINTCHISLO ELEMENTOV; n - Выводит количество элементов массива.
  7. PRINT - Отображает горизонтальную строку для улучшения читаемости.
  8. PRINTISHODNY MASSIV`` - Выводит заголовок для исходного массива.
  9. FOR i = 1 TO n - Начинает цикл, который проходит через каждый элемент массива.
  10. a(i) = 40 * RND - 20 - Этот код присваивает каждому элементу массива случайное целое число, которое может быть отрицательным.
  11. PRINT a(i); - Выводит значение текущего элемента массива.
  12. NEXT i - Переходит к следующему элементу массива.
  13. PRINT : PRINT - Выводит горизонтальную строку для улучшения читаемости.
  14. CALL Noll(a(), n) - Вызывает подпрограмму Noll, передавая ей массив и количество элементов.
  15. PRINTNOVY MASSIV`` - Выводит заголовок для нового массива.
  16. FOR i = 1 TO n - Начинает цикл, который проходит через каждый элемент массива.
  17. PRINT a(i); - Выводит значение текущего элемента массива.
  18. NEXT i - Переходит к следующему элементу массива.
  19. END - Конец программы.
  20. SUB Noll (a() AS INTEGER, n) - Эта строка определяет подпрограмму с именем Noll.
  21. IF n = 0 THEN EXIT SUB - Если количество элементов равно нулю, подпрограмма завершается.
  22. IF a(n) <= 0 THEN a(n) = 0 - Если последний элемент массива отрицательный, он заменяется на ноль.
  23. CALL Noll(a(), n - 1) - Подпрограмма вызывается рекурсивно с уменьшенным количеством элементов. Этот код генерирует случайный массив целых чисел, затем заменяет все отрицательные числа на ноль с помощью рекурсивной подпрограммы.

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


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

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

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