Опишите на русском языке или на одном из языков программирования алгоритм подсчета произведения всех отрицательных элементов заданного целочисленного массива размером 30 элементов, в предположении, что в массиве есть хотя бы один отрицательный элемент.
Решение на естественном языке:
Объявим константу N, равную числу элементов массива (30), целочисленные переменные р для хранения текущего произведения отрицательных элементов и i для хранения индекса просматриваемого элемента. Ввод значений в массив описывать не требуется, так как он задан. Присвоим р значение единица. В цикле от первого (нулевого) до последнего (N или N - 1) значения индекса совершим следующие действия.
Сравним с нулем значение текущего элемента массива. В случае, если значение текущего элемента меньше нуля, умножим текущее значение переменной р на значение рассматриваемого элемента массива.
По завершении цикла выводим значение переменной р.
ПРОГРАММА НА ПАСКАЛЕ | ПРОГРАММАНА БЕЙСИКЕ | ПРОГРАММА НА СИ |
const N=30; var a: array [1..N] of integer; p, i: integer; begin p := 1; for i := 1 to N do readln(a[i]); for i:= 1 to N do if a [i] < 0 then p : = p * a [ i ] ; writeln (p); end. | N=30 DIM A(N), Р, I AS INTEGER P = i FOR i TO N INPUT A(i) NEXT i FOR i=1 TO N IF A(I) < 0 THEN P = P * A (I) ENDIF NEXT i PRINT P END | void main(void) { const N=30; int array [N]; int p; p = 1; for (int i = 0; i< N; i++) scanf(array[i]); for (int i=0; i { p= p * array[i]; } } printf ("%d", p); } |