[Fortran] lire une seule colonne

Résolu
Celeborn Messages postés 22 Statut Membre -  
 mab -
Bonjour a tous,

j'aimerais connaitre une éventuelle commande fortran qui me permettrait de lire une seule colonne dans un fichier (par exemple la colonne 3 si il en a 7), à savoir que le fichier texte ressemble à ceci :

TITRE
----------------------------------------------------
nom1 | nom 2 | nom 3 | nom 4 |
----------------------------------------------------
colonne1 | colonne 2 | colonne 3 | colonne 4 |

il faudrait donc en plus lire la 3eme colonne, mais uniquement à partir de la 4eme ligne (dans cet exemple)

Merci d'avance !

Celeborn
Configuration: Windows XP
Firefox 2.0.0.3

1 réponse

  1. sony97one Messages postés 28 Statut Membre 2
     
    Salut,

    Dur dur de trouver de l'aide en fortran...

    As tu resolus ton probleme?

    Sony
    0
    1. mab
       
      CAS 1 : tu dois declarer un tableau qui a la dimension du nombre de colonne à lire.exemple pour ton tableau à 7 colonnes: character * 6 table(n)


      attention -n- est le nombre de colonnes et les colonnes sont homogenes c.à.d comportent chacune le meme memes nombre de caracteres soit -6-.

      dans table(3) tu recupere ta colonne 3.

      CAS 2 :si les colonnes ont des larges differentes il faut declarer autant de variables du genre -table- que de colonnes
      Une table auxiliaire TableAuxl(jligne,i) est necessaire pour recuperer ta colonne 3 (jlignes indice de la ligne s'il y a plusieurs lignes dans le fichier).


      ---------------------------------------------------------------------------------
      exemple (CAS 1 )
      jligne=1
      100 read(*,200,err=110,end=150) table(i=1,7)

      go to 120
      110 stop

      120 tableaux( jligne,i)=table

      140 jligne = jligne+1
      go to 100

      150 continue

      exemple (CAS 2)

      jligne=0
      100 read(*,200,err=110,end=150) table1,table2,table3, table4,table5,table6, table7
      go to 120
      110 stop

      120 TableAux( jligne+1,1)=table1
      TableAux( jligne+2,1)=table2
      TableAux( jligne+3,1)=table3
      TableAux( jligne+4,1)=table4
      TableAux( jligne+5,1)=table5
      TableAux( jligne+6,1)=table6
      TableAux( jligne+7,1)=table7



      140 jligne = jligne+1
      go to 100

      150 continue
      0