{Escribir un programa en Pascal que genera la matriz transpuesta de una matriz
de 3 filas y 4 columnas. la matriz transpuesta de una matriz M (M, n) se obtiene
intercambiando filas por columnas y viceversa;
el resultado se tiene que almacenar
en una nueva matriz M_TRANS (n, M) .}
PROGRAM EJERC100;
USES CRT;
CONST matriz : ARRAY [1..3, 1..4] OF
INTEGER = ( (12, 67, - 23, - 45),
(45, - 34, 23, - 12),
( - 34, 22, 88, - 10) );
VAR m_tra : ARRAY [1..4, 1..3] OF
INTEGER;
VAR f, c : INTEGER;
BEGIN
CLRSCR;
FOR c := 1 TO 3 DO
BEGIN
FOR f := 1 TO 4 DO
BEGIN
m_tra [f, c] := matriz [c, f];
WRITE ('(', f, ',', c, ') ');
WRITELN (m_tra [f, c] : 3);
END;
END;
END.
PROGRAM EJERC100;
USES CRT;
CONST m_orig : ARRAY [1..3, 1..4] OF
REAL = ( (2, 3, 4, 12),
(7, 9, 8, 11),
(5, 6, 1, 19) );
VAR m_tran : ARRAY [1..4, 1..3] OF
REAL;
VAR i, j : INTEGER;
BEGIN
CLRSCR;
FOR i := 1 TO 3 DO
FOR j := 1 TO 4 DO
m_tran [j, i] := m_orig [i, j];
FOR i := 1 TO 3 DO
BEGIN
FOR j := 1 TO 4 DO
WRITE (m_orig [i, j] : 5 : 2, ' ');
WRITELN (' ');
END;
WRITELN (' ');
FOR i := 1 TO 4 DO
BEGIN
FOR j := 1 TO 3 DO
WRITE (m_tran [i, j] : 5 : 2, ' ');
WRITELN (' ');
END;
END.