const
N = 20;
procedure insert(var a: array [1..N] of integer; var last: integer; pos: integer; value: integer);
var
i: integer;
begin
{смещаем относительно pos часть массива на одну позицию}
for i:=last downto pos do begin
a[i+1]:=a[i];
end;
a[pos]:=value; {теперь вставка нашего элемента}
last:=last+1; {изменяем значение индекса последнего элемента в нашем массиве}
end;
var
a: array [1..N] of integer;
i: integer;
last: integer;
begin
{предположим у нас в массиве 10 чисел}
last:=10;
{заполняем массив числами по порядку}
for i:=1 to last do a[i]:=i;
{выведем значения массива для контроля}
for i:=1 to N do write(a[i]:3);
writeln; {перевод строки}
{вставить '44' в массив 'a' на место второго элемента,
где последний элемент с индексом '10'}
insert(a, last, 2, 44);
{выведем значения массива для контроля}
for i:=1 to N do write(a[i]:3);
writeln; {перевод строки}
end.
отформатированные исходники скачать можно тут
Spasibo!
ОтветитьУдалить