[Fortran] Nessun file di output prodotto
Salve a tutti, ho un problema in Fortran. Compilo il programma, lo lancio ma non mi genera risultati.
Qualcuno potrebbe aiutarmi? Chiaramente in caso positivo posto il codice. Mi servono dei file che mi deve generare per la tesi.
Saluti, Pietro
Qualcuno potrebbe aiutarmi? Chiaramente in caso positivo posto il codice. Mi servono dei file che mi deve generare per la tesi.
Saluti, Pietro
Risposte
Forse conviene tentare il contrario: prima condividi il codice e poi forse qualcuno sarà in grado di aiutarti.
Già che ci sei, cambia il titolo della discussione in accordo col regolamento.
Già che ci sei, cambia il titolo della discussione in accordo col regolamento.
In cosa devo cambiarlo?
Non posso postare il codice, è formato da tante subroutine.
Non posso postare il codice, è formato da tante subroutine.
"pietrozebrone":
In cosa devo cambiarlo?
"Regolamento":
3.3 Il titolo del messaggio deve indicare l'argomento da discutere; sono da evitare richiami generici del tipo "Aiutooo", "Sono disperato", “Leggete!!!” e frasi analoghe che non comunicano il vero oggetto della discussione.
Fatto
Ci hai provato, è già qualcosa. Forse andrebbe meglio "nessun file di output prodotto"?
Corretto
Bene, ho poi dato io il tocco finale. Per quanto riguarda il tuo problema, mi spiace ma io non conosco Fortran e quindi dubito di poterti aiutare senza vedere una riga di codice. Con un titolo migliore, però, sicuramente qualcuno che ti può aiutare ci proverà.
subroutine sep_2 (isub,itera,delta,hmean2,as,ActiveSum,ns,hb,w,sep,sep1,sep2) implicit none integer::ns,i,isub,itera logical,dimension(ns)::ActiveSum real*8,dimension(ns)::hb,w,as,sep real*8,dimension(itera)::sep2,sep1 real*8::summa,hmean2,delta summa=0.0 do i=1,ns if (ActiveSum(i) .and. as(i)==0.0) then sep(i)=abs(hb(i)-w(i)) summa=summa+sep(i) end if end do sep2(isub)=summa/ns sep1(isub)=hmean2-delta*float(isub) return end subroutine sep_2
Questa è la subroutine, qui dovrebbe stamparmi i risultati che sono sep, sep1 e sep 2. C'è la subroutine "storeresults" che è quella che genera i file .txt, ma prima di farlo di dice che sep sep1 e sep2 sono "undefined address"
Che compilatore stai usando? Su quale sistema?
Uso Visual Studio con linguaggio Fortran, su Windows 10.
Quindi Intel Fortran? Si tratta di un errore a runtime o di compilazione? Vengono generati warning o altro durante la compilazione?
Si si lui. Comunque la compilazione va a buon fine, poi avvio (debug) e mi si blocca il programma alla riga:
"sep(i)=abs(hb(i)-w(i))" dicendomi che sep è "undefined address".
"sep(i)=abs(hb(i)-w(i))" dicendomi che sep è "undefined address".