114  Pascal User Manual  program MatrixMu12  (Input,  'dtput);  { Program 11.4 - Rewrite  [ogram 6.3 using a  procedure with co  ~ormant-array  parameters.  const  M =  4;  P = 3;  N = 2;  type  Positive = 1 .. MaxInt;  var  A:  array  [1 .. M,  1 .. P]  B:  array  [1. .  P,  1 .. N]  C:  array  [1 .. M,  1 .. N]  procedure ReadMatrix  0  0  0  Integer;  Integer;  Integer;  (var X:  array  [LoRow .. H {ow:  Positive;  LoCol..H ':e)l:  Positive]  of Integer);  var  ROw,  Col: Positive;  begin  for Row  := LoRow to HiRe w do  for Col  := LoCol to H Col do  Read(Input,  X[Row,Ccl])  end { ReadMatrix  };  procedure WriteMatrix  (var X:  array  [LoRow .. H_Row:  Positive;  LoCol .. Heol:  Positive]  of Integer);  var  ROw,  Col:  Positive;  begin  for Row  :  =  LoRow to HiRe .,  do begin  for Col  := LoCol to H  L  do  Write (Output,  X[Row,  I,L]);  Writeln(Output)  end  end { WriteMatrix  }  procedure Multiply  (var A:  array  [LoARow ..  1  ARow:  Positive;  LoACol .. H1ACol:  Positive]  of Integer;  var B:  array  [LoBRow ..  ~BRow:  Positive;  LoBCol .. HjBCol:  Positive]  of Integer;  var C:  array  [LoCRow ..  ;CRow:  Positive;  LoCCol.  .Hi(~ol:  Positive]  of Integer); 