uses crt;
const n=15;
var a:array[1..n*2] of integer;
m,i,j,k,k1,k2,f:byte;
b:integer;
begin
clrscr;
randomize;
m:=n;
writeln('Исходный массив:');
for i:=1 to m do
begin
a[i]:=random(57)-25;
write(a[i]:4);
end;
writeln;
writeln;
write('Введите число для вставки k=');
readln(k);
i:=1;f:=0;
while i<=m do
begin
b:=abs(a[i]);
if(b div 10=3)or(b mod 10=3)then
begin
m:=m+1;
f:=1;
for j:=m downto i+1 do
a[j]:=a[j-1];
a[i]:=k;
i:=i+2;
end
else i:=i+1;
end;
if f=0 then writeln('В массиве нет чисел, имеющих цифру 3!')
else
begin
writeln('Вставки числа ',k);
for i:=1 to m do
write(a[i]:4);
writeln;
end;
write('Нажмите Enter...');
readln;
writeln;
writeln('Введите интервал индексов для замены нолями:');
readln(k1,k2);
if(k1<1)or(k2>m)or(k2<=k1) then
begin
writeln('Интервал введен неверно!');
writeln('Работа программы завершена.');
readln;
exit;
end
else
begin
writeln('Замена на ноли элементов с индексами от ',k1,' до ',k2);
for i:=1 to m do
begin
if(i>=k1)and(i<=k2) then a[i]:=0;
write(a[i]:4);
end;
readln;
end;
end.