The Ada Program: dim2.adb
1 -- dim2.adb: examples of two dimensional arrays
2
3 with Ada.Float_Text_IO, Ada.Text_IO;
4 use Ada;
5
6 procedure Dim2 is
7
8 Number_Of_Rows : constant Integer := 4;
9 Number_Of_Cols : constant Integer := 7;
10
11 subtype Row_Range is Integer range 1..Number_Of_Rows;
12 subtype Col_Range is Integer range 1..Number_Of_Cols;
13
14 type Table_Type is array (Row_Range, Col_Range) of Float;
15
16 Table : Table_Type;
17 Total : Float;
18
19 begin
20 -- Sum row number 3 of "Table"
21 Total := 0.0;
22 for Col in Table'Range(2) loop
23 Total := Total + Table (3, Col);
24 end loop;
25 Float_Text_IO.Put (Total);
26 Text_IO.New_Line;
27
28 -- Sum all components of "Table" (row major)
29 Total := 0.0;
30 for Row in Table'Range(1) loop
31 for Col in Table'Range(2) loop
32 Total := Total + Table (Row, Col);
33 end loop;
34 end loop;
35 Float_Text_IO.Put (Total);
36 Text_IO.New_Line;
37
38 -- Sum all components of "Table" (column major)
39 Total := 0.0;
40 for Col in Table'Range(2) loop
41 for Row in Table'Range(1) loop
42 Total := Total + Table (Row, Col);
43 end loop;
44 end loop;
45 Float_Text_IO.Put (Total);
46 Text_IO.New_Line;
47 end Dim2;