home *** CD-ROM | disk | FTP | other *** search
/ Chip 1995 March / CHIP3.mdf / programm / prog4 / arrayop2.ada < prev    next >
Encoding:
Text File  |  1991-07-01  |  1.4 KB  |  65 lines

  1.                                        -- Chapter 19 - Program 4
  2. with Text_IO;
  3. use Text_IO;
  4.  
  5. procedure ArrayOp2 is
  6.  
  7.    package Int_IO is new Text_IO.Integer_IO(INTEGER);
  8.    use Int_IO;
  9.  
  10.    type ARY_INT is array(1..6) of INTEGER;
  11.  
  12.    Crowd, Group1, Group2    : ARY_INT;
  13.  
  14.    function "+"(In_Array1, In_Array2 : ARY_INT) return ARY_INT is
  15.    Temp_Array : ARY_INT;
  16.    begin
  17.       for Index in ARY_INT'RANGE loop
  18.          Temp_Array(Index) := In_Array1(Index) + In_Array2(Index);
  19.       end loop;
  20.       return Temp_Array;
  21.    end "+";
  22.  
  23.    function "mod"(In_Array1, In_Array2 : ARY_INT) return ARY_INT is
  24.    Temp_Array : ARY_INT;
  25.    begin
  26.       for Index in ARY_INT'RANGE loop
  27.          Temp_Array(Index) := In_Array1(Index) mod In_Array2(Index);
  28.       end loop;
  29.       return Temp_Array;
  30.    end "mod";
  31.  
  32. begin
  33.  
  34.    Group1 := (12, 17, -1, 3, -100, 5);
  35.    Group2 := (13, -2, 22, 1, 1242, -12);
  36.  
  37.    Crowd := Group1 + Group2;
  38.    for Index in ARY_INT'RANGE loop
  39.       Put(Group1(Index));
  40.       Put(Group2(Index));
  41.       Put(Crowd(Index));
  42.       New_Line;
  43.    end loop;
  44.  
  45. -- Crowd := Group1 - Group2;
  46. -- Crowd := Group1 * Group2;
  47. -- Crowd := Group1 / Group2;
  48.    Crowd := Group1 mod Group2;
  49. -- Crowd := Group1 rem Group2;
  50.  
  51. end ArrayOp2;
  52.  
  53.  
  54.  
  55.  
  56. -- Result of execution
  57.  
  58. --     12    13    25
  59. --     17    -2    15
  60. --     -1    22    21
  61. --      3     1     4
  62. --   -100  1242  1142
  63. --      5   -12    -7
  64.  
  65.