Дан массив целых чисел из 15 элементов, заполненный случайным образом числами из...

0 голосов
45 просмотров
Дан массив целых чисел из 15 элементов, заполненный случайным образом числами из промежутка [ -20, 50 ].Удалить из него все элементы, в записи которых есть цифра 5.Вставить число k после всех элементов, кратных своему номеру (k вводится с клавиатуры).Поменять местами первый положительный и последний отрицательный элементы.

Информатика (17 баллов) | 45 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
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;<br>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;
end.
(672 баллов)