// PascalABC.Net 3.0, сборка 1052 const nn=100; var i,n:integer; a:array[1..nn] of integer; p:real; begin Write('Количество элементов в массиве: '); Read(n); Writeln('Исходный массив'); for i:=1 to n do begin a[i]:=Random(51)-25; Write(a[i],' ') end; Writeln; p:=1; Writeln('Нечетные элементы:'); for i:=1 to n do begin if a[i]<0 then p:=p*a[i]; if a[i] mod 2 <> 0 then Write(a[i],' ') end; Writeln; Writeln('Произведение отрицательных элементов: ',p) end.
USES CRT;
VAR A:array[1..100] of integer;
i,n,summa:integer;
BEGIN
CLRSCR;
Randomize;
{Проверяем на размер массива, чтобы не превышал 100}
Repeat
Writeln('Введите размер массива до 100');
Readln(n);
Until n<=100;
{Заполняем массив случайными числами от -50 до 100}
For i:=1 to n do
begin
A[i]:=-50+Random(100);
Write(A[i],' ');
end;
summa:=0;
{Находим отрицательные элементы массива и складываем}
For i:=1 to n do
if A[i]<0 then summa:=summa+A[i];
Writeln;
Writeln('Сумма отрицательных элементов массива = ',summa);
READLN;
END.
const
nn=100;
var
i,n:integer;
a:array[1..nn] of integer;
p:real;
begin
Write('Количество элементов в массиве: '); Read(n);
Writeln('Исходный массив');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ')
end;
Writeln;
p:=1;
Writeln('Нечетные элементы:');
for i:=1 to n do begin
if a[i]<0 then p:=p*a[i];
if a[i] mod 2 <> 0 then Write(a[i],' ')
end;
Writeln;
Writeln('Произведение отрицательных элементов: ',p)
end.
Тестовое решение:
Количество элементов в массиве: 20
Исходный массив
-18 -9 18 15 7 -20 -4 18 -24 -6 -24 2 -3 -10 12 -4 19 4 0 -17
Нечетные элементы:
-9 15 7 -3 19 -17
Произведение отрицательных элементов: -91371110400