Заменить все отрицательные элементы массива на нуль - QBasic
Формулировка задачи:
Нужна помощь...)
В массиве R, состоящим из N элементов заменить все отрицательные элементы на нуль. Результат распечатать в виде:
Число элементов:
Исходный массив:
Новый массив:
Вторая прога:
Найти сумму модулей компонентов вектора z
Если zi=(фигурная скобочка-система)
9 S = Σ |Zi| i=1
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
Объяснение кода листинга программы
Детали кода:
DECLARE SUB Noll (a%(), n!)- Эта строка определяет подпрограмму с именемNoll, которая принимает два аргумента типаa%(), который является массивом целых чисел, иn!, который является целым числом.CLS- Очищает экран перед началом программы.RANDOMIZE TIMER- Эта строка инициализирует генератор случайных чисел, чтобы каждый раз получать разные случайные числа.INPUTN =; n- Запрашивает у пользователя ввод количества элементов для массива.DIM a(1 TO n) AS INTEGER- Создает массив целых чисел с заданным количеством элементов.PRINTCHISLO ELEMENTOV; n- Выводит количество элементов массива.PRINT- Отображает горизонтальную строку для улучшения читаемости.PRINTISHODNY MASSIV`` - Выводит заголовок для исходного массива.FOR i = 1 TO n- Начинает цикл, который проходит через каждый элемент массива.a(i) = 40 * RND - 20- Этот код присваивает каждому элементу массива случайное целое число, которое может быть отрицательным.PRINT a(i);- Выводит значение текущего элемента массива.NEXT i- Переходит к следующему элементу массива.PRINT : PRINT- Выводит горизонтальную строку для улучшения читаемости.CALL Noll(a(), n)- Вызывает подпрограммуNoll, передавая ей массив и количество элементов.PRINTNOVY MASSIV`` - Выводит заголовок для нового массива.FOR i = 1 TO n- Начинает цикл, который проходит через каждый элемент массива.PRINT a(i);- Выводит значение текущего элемента массива.NEXT i- Переходит к следующему элементу массива.END- Конец программы.SUB Noll (a() AS INTEGER, n)- Эта строка определяет подпрограмму с именемNoll.IF n = 0 THEN EXIT SUB- Если количество элементов равно нулю, подпрограмма завершается.IF a(n) <= 0 THEN a(n) = 0- Если последний элемент массива отрицательный, он заменяется на ноль.CALL Noll(a(), n - 1)- Подпрограмма вызывается рекурсивно с уменьшенным количеством элементов. Этот код генерирует случайный массив целых чисел, затем заменяет все отрицательные числа на ноль с помощью рекурсивной подпрограммы.