RosettaCodeData/Task/Matrix-transposition/Common-Lisp/matrix-transposition-2.lisp
2023-07-01 13:44:08 -04:00

10 lines
345 B
Common Lisp

;; Transpose a mxn matrix A to a nxm matrix B=A'.
(defun mtp (A)
(let* ((m (array-dimension A 0))
(n (array-dimension A 1))
(B (make-array `(,n ,m) :initial-element 0)))
(loop for i from 0 below m do
(loop for j from 0 below n do
(setf (aref B j i)
(aref A i j))))
B))