The Ada Program: dim3.adb
1 -- dim3.adb: average all the elements of a 3 dimensional array
2
3 with Ada.Text_IO, Ada.Float_Text_IO;
4 use Ada;
5
6 procedure Dim3 is
7
8 type Float_Array is array (Integer range <>,
9 Integer range <>, Integer range <>) of Float;
10
11 function Average (Value: in Float_Array) return Float is
12 Sum : Float := 0.0;
13 N : constant Float := Float (
14 Value'Length(1)*Value'Length(2)*Value'Length(3));
15 begin
16 for I in Value'Range(1) loop
17 for J in Value'Range(2) loop
18 for K in Value'Range(3) loop
19 Sum := Sum + Value (I,J,K);
20 end loop;
21 end loop;
22 end loop;
23 return (Sum / N);
24 end Average;
25
26 A : Float_Array := (
27 ((1.2, 2.3), (3.4, 4.5), (5.6, 7.8)),
28 ((1.2, 2.3), (3.4, 4.5), (5.6, 7.8))
29 );
30
31 begin
32
33 Float_Text_IO.Put (Average (A));
34 Text_IO.New_Line;
35
36 end Dim3;