29 lines
630 B
Plaintext
29 lines
630 B
Plaintext
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
|