-- Chapter 10 - Program 5 with Ada.Text_IO, Ada.Integer_Text_IO; use Ada.Text_IO, Ada.Integer_Text_IO; procedure MultAry3 is SIZE : constant := 3; NEXT : constant := SIZE + 1; type MATRIX is array(INTEGER range 1..SIZE, INTEGER range 1..NEXT) of INTEGER; Square_Board : MATRIX; Checker_Board : MATRIX; Chess_Board : array(INTEGER range 1..SIZE, INTEGER range 1..NEXT) of INTEGER; Across, Over : INTEGER; begin for Across in 1..Square_Board'LAST(1) loop for Over in 1..Square_Board'LAST(2) loop Square_Board(Across, Over) := Across * Over; Chess_Board(Across, Over) := 0; end loop; end loop; Checker_Board := Square_Board; Checker_Board(2, 3) := 2; Checker_Board(Checker_Board(2, 3), 4) := 17; Checker_Board(3, 3) := Chess_Board(3, 3); for Across in Checker_Board'RANGE(1) loop for Over in Checker_Board'RANGE(2) loop Put(Checker_Board(Across, Over), 6); end loop; New_Line; end loop; end MultAry3; -- Result of execution -- 1 2 3 4 -- 2 4 2 17 -- 3 6 0 12