Bonjour,
J'ai une question de base, mais nulle part je n'ai trouvé sur le web, ni dans mon document de référence comment le faire.
J'ai un fichier .dat avec deux colonnes de valeurs numériques:
ex:
-1.0 2.00
0.2 0.98
0.3 0.96
0.4 0.92
0.5 0.88
0.6 0.83
0.7 0.76
0.8 0.70
0.9 0.62
1.0 0.54
1.1 0.45
1.2 0.36
1.3 0.27
1.4 0.17
1.5 0.07
1.6 -0.03
1.7 -0.13
1.8 -0.23
Je voudrais écrire ces valeurs dans un tableau à 2 dimensions. Le programme que j'ai fait réussi à lire les valeurs et à les positionner aux bons endroits dans mon tableau, mais il y a plusieurs erreurs:
Ne lit les pas signes négatifs, ni de la première colonne, ni de la 2e colonne. Rendu à la valeur 1.0 de la première colonne, il me donne 0.00.
Voici la sortie que j'obtiens:
1.00
2.00
0.20
0.90
0.30
0.90
0.40
0.90
0.50
0.80
0.60
0.80 etc.
Voici le code jusqu'à présent.
Je suis persuadé que c'est une histoire de format, mais je n'arrive pas à solutioner le problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 program read_table REAL*8 Array(:,:) INTEGER n ALLOCATABLE Array n =0 open(UNIT=200, FILE='Cosines', STATUS='OLD') do read (200,*,end=101) ; n = n+1 ! count records end do 101 rewind (200) ALLOCATE (Array(2,n)) do i=1,n read(200,100) Array(1,i), Array(2,i) 100 FORMAT(1X, F3.2,F4.2) end do close (200) write(6,300) Array 300 FORMAT(F4.2) end
Merci de votre aide.
Partager