Нужен паскаль программа. Дан одномерный массив A[n]. Найти произведение квадратов...

0 голосов
68 просмотров

Нужен паскаль программа.
Дан одномерный массив A[n]. Найти произведение квадратов ненулевых элементов массива. Затем подсчитать, сколько в массиве нулевых элементов. Формула произведения P:=P*A[i]


Информатика (335 баллов) | 68 просмотров
0

Размерность и сам массив задавать с клавы?

Дано ответов: 2
0 голосов
Правильный ответ
// 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= 20
-1 -1 -4 4 0 1 -1 -3 -3 -3 4 -5 0 0 -1 3 -3 -2 -4 0
П=386983526400
Нулей: 4
(150k баллов)
0 голосов

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.

(34.0k баллов)
0

у меня тоже иногда вапрос зачем у препода

0

Var
A: array[1..2000] of integer;
i,n:integer;
SR: real;(* Сумма и среднее значение *)
begin
read(n);
for n:=1 to n do begin
A[n]:=random(1,200);Write(A[n],' ');
SR:=SR+A[n];
end;
SR:=SR/n;
WriteLn;
WriteLn('SR = ',SR:10:2);
i:=0;
for n:=1 to n do begin
if A[n]=SQRT(SR)then i:=i+1;
end;
Writeln('k = ',i);
End.

0

это просто пример

0

я так понила чтобы ввести любое число

0

спасибо