## 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); 

