Предмет: Информатика, автор: кнёпочка

СРОЧНО!!!!!!!пожалуйста, помогите решить задачу в Паскале:
Задать одномерный массив из 10 чисел, которые получены случайным образом.
Удалить из массива последний нечетный элемент, а перед 3 элементом вставить 100.

Ответы

Автор ответа: petyaGavrikov
0
const n=10;
var a:array[1..n+1] of integer;
i,j,f:integer;
begin
Randomize;
for i:=1 to n do begin
 a[i]:=random(51);
 write(a[i]:4);
 end;
writeln;
f:=1;
j:=n;
while (j>0)and(a[j] mod 2=0) do dec(j);
if j>0 then
 begin
 for i:=j to n-1 do a[i]:=a[i+1];
 a[n]:=0;
 f:=0;
 end;
for i:=n+f downto 4 do a[i]:=a[i-1];
a[3]:=100;
for i:=1 to n+f do write(a[i]:4);
writeln;
end.

Пример:
  40  23  16  16  29   8   2  45   8  34
  40  23 100  16  16  29   8   2   8  34
Автор ответа: Аноним
0
Реализован алгоритм "Сначала удаляем, затем ищем место вставки и вставляем". Можно убедиться, рассмотрев работу для ряда 1 3 4 6 8 10 12 14 16 18, который даст результат 1 4 100 6 8 10 12 14 16 18.
Похожие вопросы
Предмет: Математика, автор: АннаРейх