// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
var a:=ArrRandom(12,10,45); a.Println;
var p:=a.Where(x->x mod 5=0).Aggregate(1,(a,b)->a*b);
if p=1 then Writeln('Нет элементов, кратных 5')
else Writeln('Произведение кратных пяти элементов: ',p)
end.
<u><em>Тестовое решение:</em></u>
26 35 31 28 22 23 26 17 32 40 42 22
Произведение кратных пяти элементов: 1400
При использовании 256-символьного алфавита для записи одного символа требуется log(2)256 = 8 бит = 1 байт. Количество символов = 15*32*64 Объем текста = 15*32*64*1 байт = 30720 байт = 30720/1024 Кбайт = 30 Кбайт
<u>PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(m,n,-30,30);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('*** Полученный массив ***');
for var i:=0 to m-1 do
for var j:=0 to n-1 do
if (i+j).IsEven then a[i,j]*=3
else a[i,j]:=a[i,j] div 2;
a.Println(4)
end.
Const n=20;
var a:array[1..n]of integer;
i,b,k,c,f,g,h:integer;
begin
for i:=1 to n do a[i]:=Random(70)-20;
for i:=1 to n do
write(a[i],' ');
writeln;
for i:=1 to n do begin
if (a[i] mod 5 = 0) and (a[i] mod 10<>0) or (a[i]=50) then begin
b:=i;
for b:=i to (n-1) do
a[i]:=a[i+1];
end; end;
for i:=1 to n do
write(a[i],' ');
write('введите к ');
read(k);
for i:=1 to n do begin
if a[i] mod i = 0 then begin
c:=i;
for i:=n downto c+1 do begin
a[i]:=a[i-1];
a[c+1]:=k;
end;end;end;
for i:=1 to n do
write(a[i],' ');
writeln;
f:=0; g:=0;
for i:=n downto 1 do begin
if (a[i]>0) then f:=i;
end;
if a[f]=0 then write('нет положительных ');
for i:=n downto 1 do begin
if (a[i]<0) then g:=i;
end;
if (a[g]=0) then write('нет отрицательных ');
if (a[f]<>0) and (a[g]<>0) then begin
h:=a[f]; a[f]:=a[g]; a[g]:=h; end;
for i:=1 to n do
write(a[i],' ');
writeln;
<span>end.</span>