Fortran - aide - boucle
Résolu/Fermé
Jéjé222
Messages postés
14
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
22 avril 2011
-
19 avril 2011 à 16:50
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 25 avril 2011 à 23:11
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 25 avril 2011 à 23:11
A voir également:
- Fortran - aide - boucle
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Problème xiaomi redmi note 8t s'allume et s'éteint vibre - Forum Xiaomi
- Tv orange chargement en boucle ✓ - Forum TV & Vidéo
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Huawei s'allume et s'éteint en boucle - Forum Huawei
2 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
20 avril 2011 à 10:09
20 avril 2011 à 10:09
Bonjour,
Je veux bien te donner un coup de main, mais je ne veux pas le faire à ta place.
Déjà précise la norme de fortran utiliser (77 90 ?).
Les boulces se font avec DO, la lecture de fichier avec OPEN et READ.
Je veux bien te donner un coup de main, mais je ne veux pas le faire à ta place.
Déjà précise la norme de fortran utiliser (77 90 ?).
Les boulces se font avec DO, la lecture de fichier avec OPEN et READ.
Jéjé222
Messages postés
14
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
22 avril 2011
20 avril 2011 à 11:53
20 avril 2011 à 11:53
Bonjour,
Je travail sur fortran 77.
J'ai déjà utilisé une boucle DO à un autre endroit dans mon programme et donc j'ai aussi utilisé le OPEN et le READ.
Mais je ne parviens pas à mettre sous forme de ligne de code ce que je voudrais que le programme fasse. C'est à dire :
- qu'il me sélectionne les dix premières lignes
- qu'il m'en fasse la moyenne
- et qu'il fasse cela pour les dix lignes suivantes (grâce à la boucle DO i=1,360)
Voilà, je sais pas si tu parviens à comprendre parfaitement ce que je veux dire.
Merci d'avance
Je travail sur fortran 77.
J'ai déjà utilisé une boucle DO à un autre endroit dans mon programme et donc j'ai aussi utilisé le OPEN et le READ.
Mais je ne parviens pas à mettre sous forme de ligne de code ce que je voudrais que le programme fasse. C'est à dire :
- qu'il me sélectionne les dix premières lignes
- qu'il m'en fasse la moyenne
- et qu'il fasse cela pour les dix lignes suivantes (grâce à la boucle DO i=1,360)
Voilà, je sais pas si tu parviens à comprendre parfaitement ce que je veux dire.
Merci d'avance
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
20 avril 2011 à 15:14
20 avril 2011 à 15:14
Je vois ce que tu veux dire, mais je ne vois pas où est la difficulté.
Tu fait deux boucles DO imbriqués, une variable d'accumulutation et un tableau pour stocker les moyennes...
Tu fait deux boucles DO imbriqués, une variable d'accumulutation et un tableau pour stocker les moyennes...
Jéjé222
Messages postés
14
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
22 avril 2011
21 avril 2011 à 09:45
21 avril 2011 à 09:45
Hello
bah j'ai pas dis que c'était compliqué, je me rend tout à fait compte que ça doit pas être chinois.
Mais j'arrive pas à formuler tout ça sous forme de code.
SI tu pouvais m'expliquer ça un peu plus explicitement, ça serait parfait
Merci
bah j'ai pas dis que c'était compliqué, je me rend tout à fait compte que ça doit pas être chinois.
Mais j'arrive pas à formuler tout ça sous forme de code.
SI tu pouvais m'expliquer ça un peu plus explicitement, ça serait parfait
Merci
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
21 avril 2011 à 09:59
21 avril 2011 à 09:59
en algo, ça donnerai un truc dans le genre :
pour i allant de 1 à 6500/10
pour j allant de 1 à 10
Lire la valeur
ajouter la valeur à $cumul
fin pour j
divisier $cumul par 10 // pour avoir la moyenne
mettre $cumul dans la case i d'un tableau
mettre $cumul à 0
fin pour i
là 80% du travail est fait.
pour i allant de 1 à 6500/10
pour j allant de 1 à 10
Lire la valeur
ajouter la valeur à $cumul
fin pour j
divisier $cumul par 10 // pour avoir la moyenne
mettre $cumul dans la case i d'un tableau
mettre $cumul à 0
fin pour i
là 80% du travail est fait.
Jéjé222
Messages postés
14
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
22 avril 2011
21 avril 2011 à 10:31
21 avril 2011 à 10:31
voici ce que j'ai déjà fait mais ça bug encore
où t(i) c'est ma colonne de valeur allant de -6500 à 0
et où Accu est ma variable accumulatrice
Accu (0:6500)
i=1
j=1
DO j=1:650
DO i=1:10
Accu(i)=t(i)+(i+1)
ENDO
tps(j)=Accu(i)/10
Accu(i)=0
ENDO
où t(i) c'est ma colonne de valeur allant de -6500 à 0
et où Accu est ma variable accumulatrice
Accu (0:6500)
i=1
j=1
DO j=1:650
DO i=1:10
Accu(i)=t(i)+(i+1)
ENDO
tps(j)=Accu(i)/10
Accu(i)=0
ENDO
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
21 avril 2011 à 11:04
21 avril 2011 à 11:04
forcément, si tu as déjà tout mis dans un tableaux, ça change un peu l'algorithme.
déjà, ça ne sert à rien d'utiliser un tableau pour Accu, au contraire, c'est pour ça que ça ne fonctionne pas.
essai "Accu=t(i+10*(j-1))"
déjà, ça ne sert à rien d'utiliser un tableau pour Accu, au contraire, c'est pour ça que ça ne fonctionne pas.
essai "Accu=t(i+10*(j-1))"