program Project2; {$APPTYPE CONSOLE} uses SysUtils; var Tr: array of array of Integer; // треугольник currC: Integer; // текущая позиция I,J,K: Integer; size: Integer; // размер треугольника Moves: Array of Integer; // массив ходов сверху вниз, ну все ясно begin // создаем треугольник Write('Input size: '); Readln(size); SetLength(Tr,size); SetLEngth(Moves,size); // заполняем теругольник Randomize; for I := 0 to High(Tr) do begin SetLEngth(Tr[I],I+1); for J := 0 to (I) do Tr[I,J] := Random(90) + 10; end; // Получилось for I := 0 to High(Tr) do begin for K := 0 to (High(tr)-I+1) do Write(' '); for J := 0 to High(Tr[I]) do begin Write(Tr[I,J],' ') end; WriteLn; end; //Ищем путь CurrC := 0; // текущая наибольшая позиция Moves[0] := Tr[0,0]; for I := 1 to High(Tr) do begin if Tr[I,CurrC]>Tr[I,CurrC+1] then Moves[I] := Tr[I,CurrC] else begin Moves[I] := Tr[I,CurrC+1]; inc(CurrC); end; end; WriteLn; WriteLn('Moves:'); for I := 0 to High(Moves) do Write(Moves[I],' '); Readln; end.