Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-15,15]. Найти произведение элементов, имеющих четное значение — Pascal(Паскаль)

uses crt;
const nmax=20;{в больших массивах произведение вылезет за тип longint}
type mas=array[1..nmax] of integer;
function Prz(m:mas;n:byte):longint;
var i:byte;
    p:longint;
begin
p:=1;
for i:=1 to n do
if m[i] mod 2=0 then p:=p*m[i];
Prz:=p;
end;

var b:mas;
    n,i,j,k:byte;
    a:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
 begin
  repeat
  b[i]:=random(31)-15;
  until b[i]<>0;{нули убрал, а то часто произведение будет ноль}
  write(b[i]:4);
 end;
writeln;
writeln;
writeln('Произведение четных=',Prz(b,n));
writeln;
end.

Leave a Comment

18 + = 28