program Project2 APPTYPE CONSOLE uses SysUtils var Tr array of array o

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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.