How to pad an array to a specified length with a given value in Pascal

1 Answer

0 votes
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 
    
*)

 



answered Feb 4 by avibootz
edited Feb 4 by avibootz
...