program trasposta_matrice implicit none integer :: i,j,n,m complex(8), allocatable :: a(:,:) real*8 :: re,im open(10,file='a.dat') read(10,*) n allocate(a(n,n)) !Read matrix A: do i=1,n do j=1,n read(10,*) re, im a(i,j)=dcmplx(re,im) enddo enddo write(*,*) 'Original A' do i=1,n write(*,*) (a(i,j), j=1,n) enddo a=conjg(a) a=transpose(a) write(*,*) 'Transpose conjugate of A' do i=1,n write(*,*) (a(i,j), j=1,n) enddo deallocate(a) stop end program trasposta_matrice