[fortran] écrire résultat sur une seule ligne
Résolu/Fermé
A voir également:
- [fortran] écrire résultat sur une seule ligne
- Ecrire en gras sur whatsapp - Guide
- Comment aller à la ligne sur excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Partager photos en ligne - Guide
- Vente en ligne particulier - Guide
8 réponses
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
8 déc. 2008 à 10:16
8 déc. 2008 à 10:16
hello
souvenir, souvenir, peut-être que :
mette un + comme premier caractère imprimé
ou un $ peut-etre
souvenir, souvenir, peut-être que :
mette un + comme premier caractère imprimé
ou un $ peut-etre
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
8 déc. 2008 à 15:36
8 déc. 2008 à 15:36
PRINT "$(2(A),F6.2,.........
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
8 déc. 2008 à 15:51
8 déc. 2008 à 15:51
Salut.
Fortran... comment rentre les choses faciles difficiles, je hais !
Mais bon, pour répondre à ton problème, la seule solution que je vois, c'est d'utiliser un format pour écrire tes données, peut être que là tu pourra lui préciser de ne pas faire de retour à la ligne. Sinon, tu peux essayer de concaténer ta chaine de caractère avant de l'afficher, si c'est possible, mais sans allocation dynamique de taille : bonne chance de pas sortir du domaine. Autre solution, qui marche mais qui peut être galère, cré toi une fonction C pour l'affichage. Voi là si tu veux plus de détail sur ce point :
http://www.yolinux.com/TUTORIALS/LinuxTutorialMixingFortranAndC.html
Fortran... comment rentre les choses faciles difficiles, je hais !
Mais bon, pour répondre à ton problème, la seule solution que je vois, c'est d'utiliser un format pour écrire tes données, peut être que là tu pourra lui préciser de ne pas faire de retour à la ligne. Sinon, tu peux essayer de concaténer ta chaine de caractère avant de l'afficher, si c'est possible, mais sans allocation dynamique de taille : bonne chance de pas sortir du domaine. Autre solution, qui marche mais qui peut être galère, cré toi une fonction C pour l'affichage. Voi là si tu veux plus de détail sur ce point :
http://www.yolinux.com/TUTORIALS/LinuxTutorialMixingFortranAndC.html
Merci à vous 2 pour vos réponses. J'ai essayé avec le $, ça ne marche pas. Pour ce qui est de la fonction C, c'est moyen car je dois utiliser uniquement fortran (et c'est le seul langage informatique où j'ai qques notions de base).
Sinon, j'ai trouvé un truc qui semble marcher :
PRINT*,TRIM(variable(1)),"=",coeff(1),("+",coeff(i),TRIM(variable(i)),i=2,nvariables)
où nvariables est le nombre de variables. Avec cette méthode, tout s'affiche bien sur une seule ligne et il n'y a pas de + après la dernière variable. En revanche, je n'ai pas réussi à avoir le format que je voulais (F6.2 : des nombres à 2 décimales et à maximum 6 caractères, c-à-d compris entre -99.99 et 999.99), ça semble marcher uniquement avec le format par défaut...
Sinon, j'ai trouvé un truc qui semble marcher :
PRINT*,TRIM(variable(1)),"=",coeff(1),("+",coeff(i),TRIM(variable(i)),i=2,nvariables)
où nvariables est le nombre de variables. Avec cette méthode, tout s'affiche bien sur une seule ligne et il n'y a pas de + après la dernière variable. En revanche, je n'ai pas réussi à avoir le format que je voulais (F6.2 : des nombres à 2 décimales et à maximum 6 caractères, c-à-d compris entre -99.99 et 999.99), ça semble marcher uniquement avec le format par défaut...
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
9 déc. 2008 à 02:47
9 déc. 2008 à 02:47
Bonsoir,
Peux-tu me donner un exemple concret de ce que tu souhaites obtenir à l'affichage car j'éprouve quelques dificultés pour illustrer le problème, surtout en ce qui concerne la chronologie d'apparition des valeurs et des signes relativement aux deux sources "variables" et "coeff".
Il n'est pas impossible que j'ai fait en fortran quelque chose qui s'apparente à ce problème, quitte à faire un montage à partir de plusieurs programmes.
Peux-tu me donner un exemple concret de ce que tu souhaites obtenir à l'affichage car j'éprouve quelques dificultés pour illustrer le problème, surtout en ce qui concerne la chronologie d'apparition des valeurs et des signes relativement aux deux sources "variables" et "coeff".
Il n'est pas impossible que j'ai fait en fortran quelque chose qui s'apparente à ce problème, quitte à faire un montage à partir de plusieurs programmes.
Bonsoir
alors il y a une lecture des données, sur un fichier de ce type :
nombre de paramètres (chiffre)
x }
y }
z } toutes ces lettres sont stockées dans un vecteur de chaines de caractères ("variable",
t }dimension "nombre de paramètres"
u }
v }
5 }
4,2 }
5,26 } toutes ces valeurs sont stockées dans un vecteur de réels("coeff", dimension
-74 } "nombre de paramètres")
0,04 }
-2,78}
Et il faut afficher à la sortie :
x = 5 + 4,2 y + 5,26 z + -74 t + 0,04 u + -2,78 v
ou, mieux encore :
x = 5 + 4,2 y + 5,26 z - 74 t + 0,04 u - 2,78 v
mais ce n'est vraiment pas la peine d'être pointilleux à ce point à mon avis
alors il y a une lecture des données, sur un fichier de ce type :
nombre de paramètres (chiffre)
x }
y }
z } toutes ces lettres sont stockées dans un vecteur de chaines de caractères ("variable",
t }dimension "nombre de paramètres"
u }
v }
5 }
4,2 }
5,26 } toutes ces valeurs sont stockées dans un vecteur de réels("coeff", dimension
-74 } "nombre de paramètres")
0,04 }
-2,78}
Et il faut afficher à la sortie :
x = 5 + 4,2 y + 5,26 z + -74 t + 0,04 u + -2,78 v
ou, mieux encore :
x = 5 + 4,2 y + 5,26 z - 74 t + 0,04 u - 2,78 v
mais ce n'est vraiment pas la peine d'être pointilleux à ce point à mon avis
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
10 déc. 2008 à 23:16
10 déc. 2008 à 23:16
Bonsoir,
Ou en es-tu ? J'ai tardé à te répondre car j'étais occupé sur ce problème et je pensais toujours terminer dans l'heure qui suivait, mais ce n'était jamais possible.
J'ai fait quelques recherches sur brochure mais je n'ai rien trouvé de synthétique en Fortran 77 (du type de ce que tu as essayé PRINT *,..... TRIM.......) alors j'ai fait un petit développement qui malgré tout est assez conséquent (200 lignes environ hors commentaires). Alors si cela est toujours d'actualité et si cela t'intéresse je te le ferai parvenir. Nous pourrons toujours l'améliorer si nécessaire. De toute manière je lui trouverais bien une utilité tôt ou tard.
Ou en es-tu ? J'ai tardé à te répondre car j'étais occupé sur ce problème et je pensais toujours terminer dans l'heure qui suivait, mais ce n'était jamais possible.
J'ai fait quelques recherches sur brochure mais je n'ai rien trouvé de synthétique en Fortran 77 (du type de ce que tu as essayé PRINT *,..... TRIM.......) alors j'ai fait un petit développement qui malgré tout est assez conséquent (200 lignes environ hors commentaires). Alors si cela est toujours d'actualité et si cela t'intéresse je te le ferai parvenir. Nous pourrons toujours l'améliorer si nécessaire. De toute manière je lui trouverais bien une utilité tôt ou tard.
fortran m'a tuer
>
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
11 déc. 2008 à 16:59
11 déc. 2008 à 16:59
Salut !
effectivement, tu t'es vraiment pris la tête sur ce problème à ce que je vois, merci beaucoup ! Ce que tu a fait m'intéresse (pour ma culture générale), mais je ne pense pas que je l'intègrerai à mon programme : je suis en 1ère année d'école d'ingénieur, dans une filière ou l'informatique ne fait partie de l'emploi du temps uniquement le 1er semestre...il ne s'agit donc pas de faire des programmes ultra perfectionnés (quand j'ai exposé mon problème au prof, il a répondu "n'allez pas à ce point dans le détail"^^)
Merci pour ton travail, si tu veux tu peux m'envoyer ce que tu as fait à jrcolson arobase voila.fr
J'espère que tu ne considéreras pas que tes efforts ont été inutiles... :-)
effectivement, tu t'es vraiment pris la tête sur ce problème à ce que je vois, merci beaucoup ! Ce que tu a fait m'intéresse (pour ma culture générale), mais je ne pense pas que je l'intègrerai à mon programme : je suis en 1ère année d'école d'ingénieur, dans une filière ou l'informatique ne fait partie de l'emploi du temps uniquement le 1er semestre...il ne s'agit donc pas de faire des programmes ultra perfectionnés (quand j'ai exposé mon problème au prof, il a répondu "n'allez pas à ce point dans le détail"^^)
Merci pour ton travail, si tu veux tu peux m'envoyer ce que tu as fait à jrcolson arobase voila.fr
J'espère que tu ne considéreras pas que tes efforts ont été inutiles... :-)
fortran m'a tuer
>
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
11 déc. 2008 à 17:05
11 déc. 2008 à 17:05
je viens de voir le 200 lignes "hors commentaires"... les programmes que je dois réaliser font à peu près 600 lignes avec commentaires, et il y a près de 50% de commentaires...(et on doit réaliser seulement 2 programmes comme ça dans le semestre). On ne se situe pas du tout à la même échelle pour ce qui est de la programmation là, ya un léger clivage débutant/expert je crois !
++
++
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
>
fortran m'a tuer
11 déc. 2008 à 19:07
11 déc. 2008 à 19:07
Bonsoir,
J'espère que tu ne considéreras pas que tes efforts ont été inutiles... --
Non, pas du tout, le problème est intéressant et suffisamment général pour être réutilisé, par exemple en l'intégrant dans des applications d'édition de résultats.
Je t'ai fait parvenir un document à l'adresse que tu as indiquée.
--
Cordialement.
Cchristian.
J'espère que tu ne considéreras pas que tes efforts ont été inutiles... --
Non, pas du tout, le problème est intéressant et suffisamment général pour être réutilisé, par exemple en l'intégrant dans des applications d'édition de résultats.
Je t'ai fait parvenir un document à l'adresse que tu as indiquée.
--
Cordialement.
Cchristian.
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
>
fortran m'a tuer
11 déc. 2008 à 19:13
11 déc. 2008 à 19:13
Je n'ai aucun mérite c'était mon métier, encore que pour Fortran je débute bien que je l'ai appris en 1969 sans l'avoir jamais pratiqué.
Si je peux t'aider, n'hésite pas, bon courage !
Si je peux t'aider, n'hésite pas, bon courage !