Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Чет про программирование / туф / 15_lists / array
.pas {$mode objfpc}
type
dyna = array of integer;
var
a: dyna;
i: integer;
function my_insert(var a: dyna; i, x: integer): boolean;
var j: integer;
begin
if (i < 0) or (i > high(a) + 1) then
exit(false);
setlength(a, length(a) + 1);
for j := high(a) downto i+1 do
a[j] := a[j-1];
a[i] := x;
result := true;
end;
function my_delete(var a: dyna; i: integer): boolean;
var j: integer;
begin
if (i < 0) or (i >= high(a)) then
exit(false);
for j := i to high(a) - 1 do
a[j] := a[j+1];
setlength(a, length(a) - 1);
result := true;
end;
begin
setlength(a, 5);
for i := 0 to high(a) do
a[i] := i;
my_insert(a, 0, 10);
my_insert(a, 2, 20);
my_insert(a, 7, 30);
my_delete(a, 2);
for i := 0 to high(a) do
write(a[i], ' ');
writeln;
end.
type
dyna = array of integer;
var
a: dyna;
i: integer;
function my_insert(var a: dyna; i, x: integer): boolean;
var j: integer;
begin
if (i < 0) or (i > high(a) + 1) then
exit(false);
setlength(a, length(a) + 1);
for j := high(a) downto i+1 do
a[j] := a[j-1];
a[i] := x;
result := true;
end;
function my_delete(var a: dyna; i: integer): boolean;
var j: integer;
begin
if (i < 0) or (i >= high(a)) then
exit(false);
for j := i to high(a) - 1 do
a[j] := a[j+1];
setlength(a, length(a) - 1);
result := true;
end;
begin
setlength(a, 5);
for i := 0 to high(a) do
a[i] := i;
my_insert(a, 0, 10);
my_insert(a, 2, 20);
my_insert(a, 7, 30);
my_delete(a, 2);
for i := 0 to high(a) do
write(a[i], ' ');
writeln;
end.