1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| Program Thomas
IMPLICIT NONE
INTEGER N,i,j
REAL,DIMENSION(:,:),ALLOCATABLE::MAT
REAL,DIMENSION(:) ,ALLOCATABLE::RHS
C OUVRIR LE FICHIER POUR LIRE LA MATRICE
C STOCKEE DANS LE FICHIER mat.txt
Open(unit=1,file='mat.txt')
READ(1,*)N
WRITE(*,*)'TAILLE DU PROBLEME: ',N
WRITE(*,*)'===================='
C
C ALLOUER LES TABLEAUX
ALLOCATE(MAT(N,N),RHS(N))
C REMARQUE: TA MATRICE EST SYMETRIQUE=> STOCKAGE PERDU POUR RIEN
C FORMAT *, DETECTION AUTOMATIQUE
DO i = 1,3
READ(1,*) (MAT(i,j),j=1,3),RHS(i)
ENDDO
C ECRITURE DE LA MATRICE
WRITE(*,*)
WRITE(*,*)'INPUT MATRIX: '
WRITE(*,*)'=============='
DO i = 1,3
WRITE(*,'(3F6.2)') (MAT(i,j),j=1,3)
ENDDO
WRITE(*,*)
WRITE(*,*)'RIGHT HAND SIDE: '
WRITE(*,*)'==============='
DO i = 1,3
WRITE(*,'(F5.2)') RHS(i)
ENDDO
CLOSE(1)
C UNE SORTIE PROPRE, ON DESALLOUE LES TABLEAUX
DEALLOCATE(MAT,RHS)
End |
Partager