Нужен паскаль программа. дан одномерный массив a[n]. найти произведение квадратов ненулевых элементов массива. затем подсчитать, сколько в массиве нулевых элементов. формула произведения p: =p*a[i]
Const N = 13; Var A:array[1..N] of integer; i,Kn,P:integer; Begin Write('Исходный массив: '); For i:= 1 to N do Begin A[i]:=random(21)-10; Write(A[i],' '); End; WriteLn; P:=1; Kn:=0; For i:= 1 to N do if A[i]<>0 then P:=P*A[i] else Kn:=Kn+1; WriteLn('Произведение ненулевых элементов: ',P); WriteLn('Количество нулевых элементов: ',Kn); End.
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-5,5); a.Println; Writeln('П=',a.Where(x->x<>0).Aggregate(BigInteger(1),(i,j)->i*j*j)); Writeln('Нулей: ',a.Where(x->x=0).Count) end.
N = 13;
Var
A:array[1..N] of integer;
i,Kn,P:integer;
Begin
Write('Исходный массив: ');
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i],' ');
End;
WriteLn;
P:=1;
Kn:=0;
For i:= 1 to N do
if A[i]<>0 then P:=P*A[i]
else Kn:=Kn+1;
WriteLn('Произведение ненулевых элементов: ',P);
WriteLn('Количество нулевых элементов: ',Kn);
End.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-5,5); a.Println;
Writeln('П=',a.Where(x->x<>0).Aggregate(BigInteger(1),(i,j)->i*j*j));
Writeln('Нулей: ',a.Where(x->x=0).Count)
end.
Пример:
n= 20
-1 -1 -4 4 0 1 -1 -3 -3 -3 4 -5 0 0 -1 3 -3 -2 -4 0
П=386983526400
Нулей: 4