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 :

question sur les formats


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Par défaut question sur les formats
    bonjour,

    j'ai une question sur les formats

    j'ai à ecrire un fichier avec m collones mais par avance je ne connais pas le nombre de collonnes que je vais afficher, j'ecris alors une petite routine d'ecriture de fichier avec l'instruction write suivante avec les champs qui suivent et qui vont bien. c'est à dire 5 colonnes (4 float et un entier) que je souhaiterais multiplier par m le nombre d'elements présent dans une structure donnée.


    à la compilation il me dis qu'il ne connait pas l'identifant m pour les formats. ce qui me parrait aussi logique, mais alors comment faire pour afficher un nombre de collones donnés sans connaitre au péalable le nombre de colone

    J'espaire que ma question est claire

    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Solution #1

    m n'a pas à être égal au nombre d'élément à imprimer. Tu n'as qu'à fixer m assez grand pour couvrir tous tes besoins. write(12,'(99999(4f...,i...))') devrait généralement faire l'affaire.

    Solution #2

    Plus compliquée. Tu dois stocker le format dans une variable caractère. Le format peut ainsi être construit par un write du nombre d'élément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    character (20) MonFmt
    ...
    write(MonFmt,'(a,i0,a)') '(',NbElement,'(4f...,i...))'
    write(12,MonFmt) ...
    Solution à éviter

    Si tu utilises un compilateur de la famille Digital / Compaq / Intel, tu peux faire write(12,'(<m>(f...,i...))') m, reste des infos

    Cette solution est cependant à éviter car elle est non portable. Même Steve Lionel (Monsieur service à la clientèle de Intel Fortran) ne recommende pas cette solution...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Par défaut
    Merci Beaucoup ca marche comme une lettre à la poste



    .

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

Discussions similaires

  1. Questions diverses sur les formats 3D
    Par Sébastien P dans le forum Moteurs 3D
    Réponses: 2
    Dernier message: 10/03/2008, 16h19
  2. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 02h38
  3. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  4. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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