Сделайте из Рандома, ввод с клавиатуры : const n=10;
var a:array[1..n] of integer;
kk,k,
i,{начало максимального количества 0}
i1,
d,{максимальное количество 0}
d1,
max:integer;
sk:integer;{колчество последовательностей с максимальным количеством 0}
f:boolean;
begin
randomize;
sk:=1;
i:=0;d:=0;i1:=0;d1:=1;
a[1]:=random(51);
max:=a[1];
write(a[1],' ');
if a[1]=0 then begin i1:=1;d1:=1 end;
for k:=2 to n do
begin
kk:=random(2);
if odd(kk) then a[k]:=0
else a[k]:=random(51);
write(a[k],' ');
if a[k]>max then max:=a[k];
if a[k]=0
then
if a[k-1]=0 then inc(d1)
else begin
if d1=d then inc(sk);
if d1>d then begin d:=d1;i:=i1;sk:=1 end;
d1:=1;
i1:=k;
end
end;
if d1=d then inc(sk);
if d1>d then begin d:=d1;i:=i1;sk:=1 end;
writeln;
writeln('максимальное количество нулей ',d);
writeln('количество последовательностей, содержащее максимальное количество нулей ',sk);
writeln('первая позиция вхождения максимального количества нулей ',i);
writeln('максимальный элемент ',max);
k:=i;
while k<=n do
begin
d1:=0;
i1:=k;
kk:=k;
while (kk<=n)and(a[kk]=0)and(sk>0) do begin inc(d1);inc(kk) end;
if d1=d then
begin
for k:=i1 to i1+d-1 do a[k]:=max;
dec(sk)
end;
inc(k)
end;
for k:=1 to n do write(a[k],' ') ;
readln;
end.

Aleks2281338 Aleks2281338    3   05.11.2021 08:46    0

Другие вопросы по теме Информатика