program ArrayPad;
type
TIntArray = array of Integer;
function ArrayPad(arr: TIntArray; originalSize, size, value: Integer): TIntArray;
var
i: Integer;
begin
if (size < originalSize) then
ArrayPad := arr;
SetLength(ArrayPad, size); // dynamic array
for i := 0 to originalSize - 1 do
ArrayPad[i] := arr[i];
for i := originalSize to size - 1 do
ArrayPad[i] := value;
end;
var
arr: TIntArray;
paddedArray: TIntArray;
i: Integer;
begin
arr := TIntArray.Create(1, 2, 3);
paddedArray := ArrayPad(arr, Length(arr), 5, 0);
for i := 0 to Length(paddedArray) - 1 do
Write(paddedArray[i], ' ');
end.
(*
run:
1 2 3 0 0
*)