Anonymous user
Matrix multiplication: Difference between revisions
m
→{{header|REXX}}: added/changed whitespace and comments, changed alignments and indentations.
No edit summary |
m (→{{header|REXX}}: added/changed whitespace and comments, changed alignments and indentations.) |
||
Line 2,931:
=={{header|REXX}}==
<lang rexx>/*REXX program multiplies
x.=;
do r=1 while x.r\=='' /*build the "A" matrix from X. numbers.*/
end
Arows=r-1
Acols=c-1 /* " " " cols " " */▼
do r=1 while y.r\=='' /*build the "B" matrix from Y. numbers.*/
▲y.1 = 1 2 3
do c=1 while y.r\==''; parse var y.r b.r.c y.r; end
▲y.2 = 4 5 6
Brows=r-1
do k=1 for Acols
c.i.j = c.i.j + a.i.k * b.k.j;
end /*k*/
end /*j*/
end /*i*/
call showMatrix 'A', Arows, Acols /*display matrix A ───► the terminal.*/
call showMatrix 'B', Brows, Bcols /* " " B ───► " " */
call showMatrix 'C', Arows, Bcols /* " " C ───► " " */
exit /*stick a fork in it, we're all done. */
/*────────────────────────────────────────────────────────────────────────────*/
showMatrix: parse arg mat,rows,cols; say
say center(mat 'matrix', cols*(
do r =1 for rows; _=
do c=1 for cols; _=_ right(value(mat'.'r'.'c),
end /*r*/
return</lang>
{{out}}
|