TYPE TCUBE4 = Array [0..1, 0..1, 0..1, 0..1] of integer; tcube3 = array [0..1, 0..1, 0..1] of integer; Tcube2 = array [0..1, 0..1] of integer; tcube1 = array [0..1] of integer; const maze4: tcube4 = ((((0, 1), (2, 3)), ((4, 5), (6, 7)))) (((8, 9), (10, 11)), ((12, 13), (14, 15))))))))); MAZE3: TCUBE3 = (((0, 1), (2, 3)), ((4, 5), (6, 7)))); MAZE2: TCUBE2 = ((0, 1), (2, 3)); MAZE1: Tcube1 = (0, 1); VAR I, J, K, L: Integer; S: String; Begin for i: = 0 to 1 do for j: = 0 to 1 do begin s: = '; s: = Format ('MAZE [% D,% D]', [i, j]); s: = s '=>' INTOSTR (MAZE2 [I, J]); Memo1.Lines.Add (s); end Memo1.Lines.Add (''); for i: = 0 to 1 do for j: = 0 to 1 do fork: = 0 to 1 do begin s: = '; s: = format (' maze3 [ % D,% D,% D] ', [i, j, k]); s: = s ' => ' INTOSTR (Maze3 [i, j, k]); memo1.lines.add (s) End; memo1.lines.add (''); for i: = 0 to 1 do for j: = 0 to 1 do fork: = 0 to 1 do for l: = 0 to 1 do Begin s: = ''; s: = format ('maze4 [% D,% D,% D,% D]', [i, j, k, l]); s: = s '=>' INTSTR (Maze4 [i, J, K, L]); Memo1.Lines.Add (s); end; end;