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.

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
Je suis persuadé que c'est une histoire de format, mais je n'arrive pas à solutioner le problème.

Merci de votre aide.