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
|
|