Предмет: Информатика,
автор: кнёпочка
СРОЧНО!!!!!!!пожалуйста, помогите решить задачу в Паскале:
Задать одномерный массив из 10 чисел, которые получены случайным образом.
Удалить из массива последний нечетный элемент, а перед 3 элементом вставить 100.
Ответы
Автор ответа:
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
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.
Похожие вопросы
Предмет: Геометрия,
автор: vladsap28
Предмет: Геометрия,
автор: 20dashuta08
Предмет: Математика,
автор: azat6929
Предмет: Математика,
автор: Alex6001
Предмет: Математика,
автор: АннаРейх