Цитата:
Сообщение от Зюня,0
2. Каждый элемент массива заменить произведением его делителей. (их нужно сделать в процидурах)
|
Пожалуйста. Надеюсь, и функция подойдет. Если нет - черкните, переделаем в процедуру (кстати, она пишется именно через "е").
Код:
Const
N=20;
Var
A:Array[1..N] of Integer;
i:Integer;
Function Prod(M:Integer):Integer;
var j,P:Integer;
begin
if M<4 then P:=M
else
begin
P:=1;
for j:=M downto 2 do
if (M mod j)=0 then P:=P*j;
end;
Prod:=P;
end;
Begin
Randomize;
Writeln('Initial array:');
for i:=1 to N do
begin
A[i]:=Random(16)+1;
write(A[i]:8);
end;
writeln;
writeln;
Writeln('New array:');
for i:=1 to N do
begin
A[i]:=Prod(A[i]);
write(A[i]:8);
end;
Readln
End.