begin library A6, A12; integer i, j, k, m, n, p; array A[1:10, 1:20], B[1:20, 1:10], C[1:10, 1:10]; procedure set C to AB (m, n, p); value m, n, p; integer m, n, p; begin integer i, j, k; for i := 1 step 1 until m do for j := 1 step 1 until p do C[i,j] := 0.0; for i := 1 step 1 until m do for j := 1 step 1 until p do for k := 1 step 1 until n do C[i,j] := C[i,j] + A[i,k] × B[k,j]; end set C to AB; open(30); m := 10; n := 20; p := 10; writetext(30, {{cc}set _ C _ to _ AB(}); write(30, format({nd}), m); writetext(30, {,}); write(30, format({nd}), n); writetext(30, {,}); write(30, format({nd}), p); writetext(30, {){c}}); for i := 1 step 1 until m do for k := 1 step 1 until n do A[i,k] := i / 10.0 ^ (k-1); for k := 1 step 1 until n do for j := 1 step 1 until p do B[k,j] := k; set C to AB(m, n, p); for i := 1 step 1 until m do begin writetext(30, {{cc}Row}); write(30, format({ndd}), i); writetext(30, {{s}should _ be}); write(30, format({-d.dddddddd~+ndc}), 1.23456789×i); for j := 1 step 1 until p do write(30, format({-d.dddddddd~+nd}), C[i,j]); end newline(30, 2); close(30); end |