[Fortran] Nessun file di output prodotto

pietrozebrone
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

Risposte
Raptorista1
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.

pietrozebrone
In cosa devo cambiarlo?
Non posso postare il codice, è formato da tante subroutine.

Raptorista1
"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.

pietrozebrone
Fatto

Raptorista1
Ci hai provato, è già qualcosa. Forse andrebbe meglio "nessun file di output prodotto"?

pietrozebrone
Corretto

Raptorista1
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à.

pietrozebrone
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"

apatriarca
Che compilatore stai usando? Su quale sistema?

pietrozebrone
Uso Visual Studio con linguaggio Fortran, su Windows 10.

apatriarca
Quindi Intel Fortran? Si tratta di un errore a runtime o di compilazione? Vengono generati warning o altro durante la compilazione?

pietrozebrone
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".

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.