Bonjour,
j ai une question sur une commande pour imprimer un tableau avec indice, j ai essaye cette comande mais elle ne fonctionne pas, alors ou est le truc? Voila la commande:merci:Code:print*,(('X',i,' = ',X(i)) i=1,3)
Version imprimable
Bonjour,
j ai une question sur une commande pour imprimer un tableau avec indice, j ai essaye cette comande mais elle ne fonctionne pas, alors ou est le truc? Voila la commande:merci:Code:print*,(('X',i,' = ',X(i)) i=1,3)
1 - l'affichage est mocheCode:
1
2 print*,('X',i,' = ',X(i),i =1,3)
2 - tu te foules pas trop pour chercher...
Salut.
Je me cherchais un job pour occuper ma retraite. J'ai cru que de répondre à tes questions serait un bon emploi à plein temps, mais maintenant, je me rends compte que je dois faire des tas d'heures supplémentaires!
Quatre questions préalable:
1) Quelle est la taille de ton tableau? S'il est petit (moins de 10 valeurs), tu l'imprimeras sur une ligne. S'il est plus grand, tu as le choix entre l'imprimer en colonne ou sur plusieurs lignes.
2) Quel est le type des valeurs contenues dans X? Si, comme quelqu'un te l'as déjà recommandé, tu as mis un "Implicit None" au début de ton programme, tu auras un message d'erreur pour chaque variable non déclarée. Dans la suite, je supposerai que ton programme commence par
3) Connais-tu déjà les valeurs extrêmes des nombres contenus dans X?Code:
1
2
3 Implicit None Integer I,N Real*8 X(100)
4) Que comptes-tu faire avec ce que tu auras obtenu? Si tu veux seulement le contempler à l'écran, tu peux utiliser "Print * ... " ou "Write (*, ...". En revanche, si tu comptes faire quelque-chose d'utile avec tes résultats, je te recommande de les écrire dans un fichier que tu pourras relire ou imprimer avec n'importe quel éditeur. Tu devras donc définir ce fichier par
Ecriture sur une seule ligne, en virgule fixe, au maximum 10 nombres, 12 positions par nombre, 3 chiffre après le point:Code:Open (1,File='MonFichier.txt')
Idem en virgule flottante, si tes nombres sont très grands, très petits, ou si tu ne sais pas:Code:Write (1,'(A4,10F12.3)') 'X = ',(X(I),I=1,N)
J'aime bien la notation "ingénieur", mais je ne suis pas sur qu'elle existe en Fortran 77Code:Write (1,'(A4,10E12.3)') 'X = ',(X(I),I=1,N)
Ecriture en colonne:Code:Write (1,'(A4,10EN12.3)') 'X = ',(X(I),I=1,N)
Ecriture sur des lignes de 10 nombres au maximum:Code:
1
2
3
4 Write (1,'(4X,A4)') 'X = ' Do I=1,N Write (1,'(F12.3') X(I) End Do
Exerce...Code:
1
2 Write (1,'(4X,A4)') 'X = ' Write (1,'(10F12.3)') (X(I),I=1,N)
Jean-Marc Blanc
Merci Jean Marc pour ta gentillesse, en effet nous sommes des numericiens (malgre que j ai qq pb en programation)
C est un tableau provenant de la resolution d un systeme lineaire triangulaire, j ai choisit qu il soit de 3 inconnus
en effet ce sont des ""real"", X=(X1,X2,X3), et j ai declare' : real X(3)
oui c est 3
Mon but est d avoire la solution sous la forme X1=..., X2=...,X3=.....
Write (1,'(A5,F8.3,A12,F8.3,A12,F8.3)')
* 'X1 = ',X(1),', X(2) = ',X(2),', X(3) = ',X(3)
Ce n'est pas ce qu'ily a de plus élégant!
Jean-Marc Blanc
Merci Jean Marc,
Dans ce cas c est peut etre facile , mais si tu as un systeme lineaire AX=B de avec A(100,100) et X(100) , dans ce cas ta methode ne marche pas ici