mais c est assez bizare que sur F77 ca marche sans la declaration initiale de Xold.
mais c est assez bizare que sur F77 ca marche sans la declaration initiale de Xold.
Pas tant que ca. Un certain nombre de compilateurs initialisent d'office les variables à zéro; peut-être que ton compilateur fortran 77 en fait partie.
Il est aussi possible que ton compilateur fortran 77 n'ai rien initialisé, mais que lors de l'exécution, le hasard fasse que les cases mémoires associées au vecteur aient contenues des informations 'compréhenssibles' (c.-à-d. interprétables en tant que nombres réels) et que "ça passe", pour cette fois...
Bonne continuation.
Bonjour!
Je suis débutante en Fortran (et en programmation aussi) et j'ai moi aussi cette erreur: Run-time error, reference to undefined variable, array element or function result
j'ai aussi travaillé avec des vecteurs et des matrices: après avoir lu les messages précédents, j'ai réinitialisé mes matrices avant d'appeler la subroutine mais ça ne change rien: je me demande si ce n'est pas ma façon d'initialiser qui est mauvaise (j'ai initialisé mes matrices avec 2 boucles imbriquées)
merci de votre aide..
oui tout à fait! mais le problème reste le même...
Si tu as appliqué les recettes proposées dans la discussion et ue tu ne trouve toujours pas, il faut que tu nous publies ton source.
Mon problème est résolu! Oui j'ai bien tout appliqué ce que j'ai lu au dessus. En fait le problème était que j'ai confondu un 0 avec un O à la frappe. Le plus étonnant dans tout ça, c'est que le compilateur ne m'ait pas signalé cette erreur: j'avais 0 erreurs et 0 warning!! Comment alors voir ou ça clochait? Je n'avais aucune piste, sinon ce message d'erreur qui s'affichait alors que le début du programme commençait à s'executer dans la console...
- au passage, mon IDE est SALFORD PLATO 3... - Merci tout de même!
Bonjour,
j'ai le même problème, mais je n'arrive pas à le résoudre malgré tout ce qui a été écrit (j'utilise Plato de Stanford). Peut-être pourrez-vous m'aider, voici un extrait de mon programme:
Le message d'erreur indique une erreur à la ligne où j'appelle calculh, et une erreur, liée sans doute, à la ligne du calcul de h1c.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 Program Collector IMPLICIT NONE Real, dimension (3):: T,Told Real, dimension (3) :: C Real, dimension (3,3):: M ! Déclarations T(1)=295 T(2)=300 T(3)=298 L=R/n Tin=300 Do i=1,n Told=T call calculh(T,Told,h1,h2,h3,h4,h5,h6,H,Re,V) ! remplissage des matrices M et C avec les coeff h call inversion(M,C,T) Tout=2*T(2)-Tin Tin=Tout End DO end program ... SUBROUTINE calculh(T,Told,h1,h2,h3,h4,h5,h6,H,Re,V) IMPLICIT NONE real, dimension (3) :: Told,T ! autres déclarations Told=T !calcul des h dont la ligne avec l'erreur: h1c=(0.216+0.0026*Vvent*ro1*Tm1/(mu1*9.81*(Told(1)-Told(2))))**(1/3)/(mu1*Tm1/(9.81*(Told(1)-Told(2))*cp1*k1**2*ro1**2))**(1/3) end subroutine
Bon, c'est pas très clair, mais si quelqu'un a une idée, ça m'aiderait beaucoup.
Merci.
Salut Jaibo,
Il y a plein d'erreurs dans ton programme !
Si tu utilises implicit none prends garde a bien declarer toutes tes variables. Ce n'est pas le cas !
Ensuite il y a des variables qui sont utilisees mais pas definies:
n, mu1, Cp1, K1, ro1, Tm1, Vvent ...
fais attention a L =R/n si L n'est pas definie comme real tu vas avoir des soucis....
attention kan tu ecris 1/3. En fortran 1/3 =0 et non pas a 0.333333 comme tu dois t'y attendre
si tu veux 0.333333 ecris 1./3 ou 1/3. ou 1./3. tu as le choix lol
Donc avec toutes ces erreurs tu peux etre sur que ton programme ne donnera pas le resultat escompte....
Je ne suis pas sur que ton probleme soit le meme que celui precedemment evoque. Tu devrais mieux ouvrir un nouveau post....
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager