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

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

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

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

9 S = Σ |Zi| i=1

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

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

textual
Листинг программы
  1. DECLARE SUB Noll (a%(), n!)
  2. CLS
  3. RANDOMIZE TIMER
  4.  
  5. INPUT "N = "; n
  6. DIM a(1 TO n) AS INTEGER
  7. PRINT "CHISLO ELEMENTOV"; n
  8. PRINT
  9. PRINT "ISHODNY MASSIV"
  10. PRINT
  11.  
  12. FOR i = 1 TO n
  13.    a(i) = 40 * RND - 20
  14.    PRINT a(i);
  15. NEXT i
  16. PRINT : PRINT
  17.  
  18. CALL Noll(a(), n)
  19.  
  20. PRINT "NOVY MASSIV"
  21. PRINT
  22. FOR i = 1 TO n
  23.    PRINT a(i);
  24. NEXT i
  25.  
  26. END
  27.  
  28. SUB Noll (a() AS INTEGER, n)
  29.    IF n = 0 THEN EXIT SUB
  30.    IF a(n) <= 0 THEN a(n) = 0
  31.    CALL Noll(a(), n - 1)
  32. 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

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

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

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