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 :

[Fortran 77] Déclaration dans une subroutine


Sujet :

Fortran

  1. #1
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut [Fortran 77] Déclaration dans une subroutine
    Bonjour,
    j ai une question , et je vous prie de me donner une indication (surtout pour Jean Marc !)
    j ai a declarer des tableau A(0:2*MM-1),... (et MM=2^m) dans une subroutine qui a pour argument m.
    cad de la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    subroutine DBARR(m,s,TT,xx,muzero) ! m c est l entier a donne  
            integer MM,m,i,j,TT,f
            double precision s,h,pi,X(0:2*MM-1,0:2*MM-1)
            double precision mureal(0:2*MM-1,0:2*MM-1)
            double precision muzero,III(0:2*MM-1,0:2*MM-1)
            .
            .
            .
            return
            end
    je ne peut pas definir MM=2^m car m et un argument, alors comment je peut definir MM dans ce cas?
    PS: j ai obtenu l erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     C:\Documents and Settings\Toufic ARWADI\Desktop\dbar[1].f: In subroutine `dbarr':
    C:\Documents and Settings\Toufic ARWADI\Desktop\dbar[1].f:13: 
               integer MM,m,i,j,TT,f
                       1
    C:\Documents and Settings\Toufic ARWADI\Desktop\dbar[1].f:101: (continued):
               end 
               2
    Invalid declaration of or reference to symbol `mm' at (2) [initially seen at (1)]
    Merci!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Ce n'ai pas faisable en Fortran 77; il faut passer par des allocations dynamiques, donc du Fortran 90.

  3. #3
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut
    meme on ne peut pas definir MM comme un parameter? cad
    ?
    merci de nouveau

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Un 'parameter' est une valeur que le compilateur connait à la compilation et est donc invariable au niveau de l'exécution du programme.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 110
    Points : 130
    Points
    130
    Par défaut
    Correction: oui tableaux dynamiques avec allocation mémoire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. déclaration d'une fonction dans une subroutine
    Par solo12 dans le forum Fortran
    Réponses: 12
    Dernier message: 13/10/2009, 08h25
  2. [Fortran 95] Fin d'une subroutine
    Par charles1280 dans le forum Fortran
    Réponses: 4
    Dernier message: 07/01/2009, 14h32
  3. Réponses: 4
    Dernier message: 27/11/2008, 18h02
  4. [Fortran 77] Fonction dans une fonction
    Par feynman dans le forum Fortran
    Réponses: 1
    Dernier message: 07/04/2008, 19h57
  5. Réponses: 4
    Dernier message: 12/06/2007, 09h17

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