MATMULT| begin comment 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 | |