home *** CD-ROM | disk | FTP | other *** search
- -- Chapter 19 - Program 5
- with Text_IO;
- use Text_IO;
-
- procedure UnaryOp 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 "-"(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 "+"(In_Array : ARY_INT) return ARY_INT is
- begin
- return In_Array;
- end "+";
-
- function "-"(In_Array : ARY_INT) return ARY_INT is
- Temp_Array : ARY_INT;
- begin
- for Index in ARY_INT'RANGE loop
- Temp_Array(Index) := - In_Array(Index);
- end loop;
- return Temp_Array;
- end "-";
-
- begin
-
- Group1 := (12, 17, -1, 3, -100, 5);
- Group2 := (13, -2, 22, 1, 1242, -12);
-
- Crowd := Group1 + Group2;
- Crowd := Group1 - Group2;
- Crowd := +Group1;
- Crowd := -Group1;
- Crowd := (Group1 + Group2) - (-Group1 + Group2);
-
- end UnaryOp;
-
-
-
-
- -- Result of execution
-
- -- (There is no output from this program)
-
-