Matrix transposition: Difference between revisions

Content added Content deleted
m (→‎{{header|MATLAB}}: "'" was not obvious, added spaces to improve readability.)
(added Icon/Unicon example)
Line 845: Line 845:
3.3 7.7
3.3 7.7
4.4 8.8 </lang>
4.4 8.8 </lang>

=={{header|Icon}} and {{header|Unicon}}==

<lang Icon>
procedure transpose_matrix (matrix)
result := []
# for each column
every (i := 1 to *matrix[1]) do {
col := []
# extract the number in each row for that column
every (row := !matrix) do put (col, row[i])
# and push that column as a row in the result matrix
put (result, col)
}
return result
end

procedure print_matrix (matrix)
every (row := !matrix) do {
every writes (!row || " ")
write ()
}
end

procedure main ()
matrix := [[1,2,3],[4,5,6]]
write ("Start:")
print_matrix (matrix)
transposed := transpose_matrix (matrix)
write ("Transposed:")
print_matrix (transposed)
end
</lang>

Output:
<pre>
Start:
1 2 3
4 5 6
Transposed:
1 4
2 5
3 6
</pre>


=={{header|IDL}}==
=={{header|IDL}}==