2017-09-21 6 views
0

Considérons le code suivant. Il écrit "n" éléments à la fois. "N" était 5 pour le compilateur intel et "n" était 4 pour pgiComment forcer fortran à écrire quatre éléments par ligne d'un tableau à deux dimensions?

  icels=128 
     jcels=128 
     imat=2 ! just for example 
     write(ounit,*) 
x   ((real(pr(i,j,imat)),i=1,icels),j=1,jcels) 

Lorsque le "x" est un caractère de continuation. Je veux que la sortie soit formatée de la même manière pour les deux compilateurs. Un exemple:

6.2500001E-03 7.0312498E-03 7.8125000E-03 8.5937502E-03 
    9.3750004E-03 1.0156250E-02 1.0937500E-02 1.1718750E-02 
    ..... 
    ..... 

Comment puis-je remplacer le * avec un format correct? Préférerait une réponse conforme fortran77.

Répondre

1

Vous pouvez remplacer le * par '(4 (E13.6,1X))' (y compris les guillemets). Cela tire parti d'une fonctionnalité Fortran appelée format reversion.

Je noterai que votre code n'est déjà pas compatible Fortran 77, donc je ne suis pas sûr de savoir pourquoi cela vous inquiète.

+0

Merci. J'ai suivi plusieurs de vos messages sur le forum Intel. De toute façon, j'ai posé cette question prématurément. Je l'ai résolu moi-même – wander95