Skip to main content

Transpose m×n matrix in FORTRAN

Short answer

Read an m×n matrix. Transpose by B(j,i)=A(i,j). Display original and transposed matrices row by row using FORMAT.

Write a FORTRAN program to read m*n matrix, transpose it and display both the matrices.

Method. The transpose of an m × n matrix A is an n × m matrix B with B(j,i) = A(i,j): rows become columns. Both the original and transposed matrices are printed.

      PROGRAM TRANS
      INTEGER A(10,10), B(10,10)
      INTEGER M, N, I, J
      PRINT *, 'ENTER ROWS M AND COLUMNS N'
      READ *, M, N
      PRINT *, 'ENTER THE MATRIX'
      READ *, ((A(I,J), J = 1, N), I = 1, M)
      DO 20 I = 1, M
         DO 10 J = 1, N
            B(J,I) = A(I,J)
   10    CONTINUE
   20 CONTINUE
      PRINT *, 'ORIGINAL MATRIX'
      DO 30 I = 1, M
         WRITE(*,100) (A(I,J), J = 1, N)
   30 CONTINUE
      PRINT *, 'TRANSPOSED MATRIX'
      DO 40 J = 1, N
         WRITE(*,100) (B(J,I), I = 1, M)
   40 CONTINUE
  100 FORMAT(10I5)
      STOP
      END

Sample: M = 2, N = 3, A = [1 2 3; 4 5 6] gives the transpose [1 4; 2 5; 3 6].

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Programming chapter 11 questions →