How to generate Pascal triangle as a 2D array in Pascal

1 Answer

0 votes
program PascalsTriangleProgram;

{ Define a type for a two-dimensional array }
type
  TTriangle = array of array of integer;

{ Function to generate Pascal's Triangle }
procedure GeneratePascalsTriangle(n: integer; var triangle: TTriangle);
var
  i, j: integer;
begin
  SetLength(triangle, n); { Create an array with 'n' rows }

  for i := 0 to n - 1 do
  begin
    SetLength(triangle[i], i + 1); { Initialize each row with 1s }
    triangle[i][0] := 1; { First element is always 1 }
    triangle[i][i] := 1; { Last element is always 1 }

    for j := 1 to i - 1 do
      triangle[i][j] := triangle[i - 1][j - 1] + triangle[i - 1][j]; { Compute values based on previous row }
  end;
end;

{ Procedure to print Pascal's Triangle }
procedure PrintPascalsTriangle(triangle: TTriangle);
var
  i, j: integer;
begin
  for i := 0 to High(triangle) do
  begin
    for j := 0 to High(triangle[i]) do
      Write(triangle[i][j], ' ');
    Writeln;
  end;
end;

{ Main program }
var
  rows: integer;
  pascalsTriangle: TTriangle;
begin
  rows := 6; // Number of rows 
  GeneratePascalsTriangle(rows, pascalsTriangle); { Call procedure to populate Pascal's Triangle }
  PrintPascalsTriangle(pascalsTriangle); { Print the generated triangle }
end.



  
(*
run:

1 
1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1 
  
*)  



 



answered May 25, 2025 by avibootz
...