IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Lecture de fichier txt


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Par défaut Lecture de fichier txt
    Bonjour,

    Il y a beaucoup de topics préexistant sur ce sujet mais en fait depuis un petit moment j'essaie de lire un petit fichier texte mais je n'y arrive pas !

    Voilà le programme :
    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
    20
    21
    22
    23
      PROGRAM lect
          IMPLICIT NONE
     
          INTEGER n_ligne
          INTEGER n_value
          REAL read_value
          REAL value(10)
          INTEGER i
     
          OPEN(unit=20, file='dd.txt',form='formatted')
          n_ligne = 0
          n_value = 0
          do while (.true.)
            read(unit=20,fmt=*,iostat=n_ligne) read_value
            if (n_ligne .ne. 0) exit
            n_value = n_value + 1
            value(n_value) = read_value
          enddo
          CLOSE(20)
          do i = 1, n_value
            print *, value(i)
            enddo
           end lect
    Mais à la compilation il me dit "Array subscript out of bound"...Pouvez vous m'aider ??

    Petite précision j'utilise un IDE sous Windows...

  2. #2
    Membre émérite
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Par défaut
    Bonjour

    Tout simplement tu as plus de 10 lignes dans ton fichier alors que tu as déclaré le tableau value de longueur 10.

    Fait imprimer en même temps que tu lis la valeur de n_value tu verras que tout va bien jusqu'à n_value = 10.

    PS : pense à mettre ton code entre balise code et à l'indenter c'est beaucoup mieux pour la lecture

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 45
    Par défaut
    oups excusez moi j'ai fait une fausse manip avec mon ordi

    je recommence

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
     
              PROGRAM lect
     
              REAL value(1000000)    ! comme on ne sait pas combien de valeurs
                                              ! il y a dans le fichier on declare un tableau  
                                              ! de grande taille
     
     
              OPEN(20, file='dd.txt',ststus='old')
     
                   do i = 1, 1000000
     
                      read(20,*, end=10) value(i)      ! end=10 permet de sortir  de la
                                                                 ! boucle a la  fin du fichier
     
                 end do 
     
     
      10      n_value = i-1                ! nb de valeurs effectivement lues
     
     
                 do i=1, n_value
     
                      write(*,*) value
     
               end do
     
     
               END
    Bon il y a plus elegant en passant en f90 car avec l'allocation dynamique de
    memoire on peut declarer des tableaux sans en connaitre a l'avance la taille.

    Pour revenir a ton erreur, c'est que comme le dit Lagadalen ton tableau value n'etait pas declare d'une taille suffisante.

    Mais bon ta facon de coder, sans vouloir etre desobligeant, est le stereotype meme de programmes qui fait passer le fortran pour un langage de merde aupres des autres "informaticiens"....


  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 45
    Par défaut
    bon vraiment je crois que je vais aller me coucher....je dois etre fatigue !!

    il fallait lire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    OPEN(20, file='dd.txt',status ='old')
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
             do i=1, n_value
     
                      write(*,*) value(i)
     
               end do

    bonne nuit...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Par défaut ddddddddddd
    Desolé de ne vous répondre que maintenant mais Fortran m'avait definitivement saoulé..Je m'y remets quand meme...Et peut etre que Fortran n'est pas un langage de merde, mais je suis mathématicien à la base..et passer autant de temps juste pour lire une base de données c'est fou!!! sachant que je dois écrire un algorithme d'optimisation..ca presage de bons moments à venir!!

Discussions similaires

  1. [Debutant] Lecture de fichier txt
    Par vbbarent dans le forum Débuter
    Réponses: 11
    Dernier message: 06/05/2008, 11h13
  2. Problème de lecture de fichier .txt
    Par Lenaick dans le forum WinDev
    Réponses: 4
    Dernier message: 16/04/2008, 11h49
  3. [PC] [Visual Object Cobol] Lecture de fichier .txt
    Par vince3132 dans le forum Cobol
    Réponses: 7
    Dernier message: 14/03/2008, 13h43
  4. [Excel - VBA] lecture de fichier txt
    Par simstef dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 15/06/2007, 16h00
  5. PL/SQL lecture/ecriture fichier txt
    Par stos dans le forum PL/SQL
    Réponses: 2
    Dernier message: 19/05/2006, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo