Matrix transposition: Difference between revisions

m
mNo edit summary
Line 296:
<pre>
 
=={{header|Amazing Hopper}}==
<lang Amazing Hopper>
#include<hopper.h>
#proto showarraydata(_X_)
main:
.stack 12
nCols=0, nRows=0,nDims=0
A=-1,{5,11} rand array(A),mulby(10),ceil,mov(A)
{"ORIGINAL ARRAY :\n",A}
 
_show array data(A)
/* transpose */
TA=0,{nCols,nRows} nan array(TA)
for (i=1;j=1, {i} lethan (nRows), ++i;++j)
[i,j:end]get(A), [j:end,i]put(TA)
[i:end,j]get(A), [j,i:end]put(TA)
next
{"ARRAY TRANSPOSE:\n",TA}println
_show array data(TA)
exit(0)
 
.locals
show array data(A)
{"\nSIZE ARRAY : "},size=0,size(A),cpy(size),
dims(size,nDims)
rows(size,nRows)
cols(size,nCols)
{"\nDIMENSION = ",nDims,"; ROWS = ",nRows,"; COLS = ",nCols,"\n"}, println
back
</lang>
{{out}}
<pre>
ORIGINAL ARRAY :
6 6 8 3 2 6 9 3 5 3 10
6 7 10 3 9 6 5 8 8 1 10
2 3 7 10 7 9 3 7 3 8 2
10 1 3 6 9 6 1 1 5 7 7
5 9 6 1 4 3 8 4 2 10 7
 
SIZE ARRAY : 2 5 11
DIMENSION = 2; ROWS = 5; COLS = 11
 
ARRAY TRANSPOSE:
6 6 2 10 5
6 7 3 1 9
8 10 7 3 6
3 3 10 6 1
2 9 7 9 4
6 6 9 6 3
9 5 3 1 8
3 8 7 1 4
5 8 3 5 2
3 1 8 7 10
10 10 2 7 7
 
SIZE ARRAY : 2 11 5
DIMENSION = 2; ROWS = 11; COLS = 5
 
</pre>
Transpose:
(( 1.00, 2.00, 3.00, 4.00, 5.00),
543

edits