home *** CD-ROM | disk | FTP | other *** search
- -- Chapter 19 - Program 4
- with Text_IO;
- use Text_IO;
-
- procedure ArrayOp2 is
-
- package Int_IO is new Text_IO.Integer_IO(INTEGER);
- use Int_IO;
-
- type ARY_INT is array(1..6) of INTEGER;
-
- Crowd, Group1, Group2 : ARY_INT;
-
- function "+"(In_Array1, In_Array2 : ARY_INT) return ARY_INT is
- Temp_Array : ARY_INT;
- begin
- for Index in ARY_INT'RANGE loop
- Temp_Array(Index) := In_Array1(Index) + In_Array2(Index);
- end loop;
- return Temp_Array;
- end "+";
-
- function "mod"(In_Array1, In_Array2 : ARY_INT) return ARY_INT is
- Temp_Array : ARY_INT;
- begin
- for Index in ARY_INT'RANGE loop
- Temp_Array(Index) := In_Array1(Index) mod In_Array2(Index);
- end loop;
- return Temp_Array;
- end "mod";
-
- begin
-
- Group1 := (12, 17, -1, 3, -100, 5);
- Group2 := (13, -2, 22, 1, 1242, -12);
-
- Crowd := Group1 + Group2;
- for Index in ARY_INT'RANGE loop
- Put(Group1(Index));
- Put(Group2(Index));
- Put(Crowd(Index));
- New_Line;
- end loop;
-
- -- Crowd := Group1 - Group2;
- -- Crowd := Group1 * Group2;
- -- Crowd := Group1 / Group2;
- Crowd := Group1 mod Group2;
- -- Crowd := Group1 rem Group2;
-
- end ArrayOp2;
-
-
-
-
- -- Result of execution
-
- -- 12 13 25
- -- 17 -2 15
- -- -1 22 21
- -- 3 1 4
- -- -100 1242 1142
- -- 5 -12 -7
-
-