Matrix transposition: Difference between revisions
Content added Content deleted
(Added BBC BASIC) |
m (→{{header|REXX}}: added comments, unrolled some DO loops, changed indentation, added whitespace. -- ~~~~) |
||
Line 1,849: | Line 1,849: | ||
=={{header|REXX}}== |
=={{header|REXX}}== |
||
<lang rexx>/*REXX program transposes a matrix, shows before and after matrixes. */ |
<lang rexx>/*REXX program transposes a matrix, shows before and after matrixes. */ |
||
⚫ | |||
⚫ | |||
x.1='1.02 2.03 3.04 4.05 5.06 6.07 7.07' |
x.1='1.02 2.03 3.04 4.05 5.06 6.07 7.07' |
||
x.2='111 2222 33333 444444 5555555 66666666 777777777' |
x.2='111 2222 33333 444444 5555555 66666666 777777777' |
||
do r=1 while x.r\=='' |
do r=1 while x.r\=='' /*build the "A" matric from X. numbers */ |
||
do c=1 while x.r\=='' |
do c=1 while x.r\=='' |
||
parse var x.r a.r.c x.r |
|||
end |
|||
⚫ | |||
end /*r*/ |
|||
rows=r-1; cols=c-1 |
rows=r-1; cols=c-1 |
||
L=0 /*L is the maximum width element value.*/ |
L=0 /*L is the maximum width element value.*/ |
||
do i=1 for rows |
|||
do |
do j=1 for cols |
||
b.j.i = a.i.j; L=max(L,length(b.j.i)) |
|||
end /*j*/ |
|||
end /*i*/ |
|||
⚫ | |||
call showMat 'A',rows,cols |
call showMat 'A',rows,cols |
||
call showMat 'B',cols,rows |
call showMat 'B',cols,rows |
||
exit /*stick a fork in it, we're done.*/ |
|||
exit |
|||
⚫ | |||
⚫ | |||
⚫ | |||
do r=1 for rows; _= |
|||
⚫ | |||
do c=1 for cols; |
|||
⚫ | |||
⚫ | |||
⚫ | |||
end /*c*/ |
|||
say _ |
|||
⚫ | |||
end |
end /*r*/ |
||
return</lang> |
return</lang> |
||
'''output''' |
|||
Output: |
|||
<pre style="overflow:scroll"> |
|||
<pre> |
|||
─────────────────────────────────A matrix───────────────────────────────── |
|||
---------------------------------A matrix--------------------------------- |
|||
1.02 2.03 3.04 4.05 5.06 6.07 7.07 |
1.02 2.03 3.04 4.05 5.06 6.07 7.07 |
||
111 2222 33333 444444 5555555 66666666 777777777 |
111 2222 33333 444444 5555555 66666666 777777777 |
||
────────B matrix──────── |
|||
--------B matrix-------- |
|||
1.02 111 |
1.02 111 |
||
2.03 2222 |
2.03 2222 |