View Full Version : aiutino fortran
come si fa ad utilizzare un valore letto da un file esterno come dimensione di un array?
se faccio così il compilatore mi dice (giustamente) che l'istruzione REAL non può essere nella sezione di esecuzione (dopo un DO)
PROGRAM PROVA11
!
!
OPEN (85,file='parametri_simulazione.txt',status='unknown') ! input
!
DO WHILE (.NOT.EOF(85))
! numero celle
READ (85,*) ncelle
ENDDO
REAL CELLE(0:NCELLE)
STOP
END
ho trovato che si può fare con ALLOCATABLE, ma non capisco come tali variabili possano essere poi passate ad una FUNCTION e viceversa visto che non possono comparire all'interno di un istruzione COMMON.
:help:
leadergl
19-11-2005, 09:19
credo che pochi rispondono perchè pochi usano il "fortran"...compreso me :P
però ti posso dire come avrei fatto io in un generico linguaggio:
// dichiarazione variabili globali
Dichiarazione Array di dimensione 0 (o 1..come ti pare)
//corpo del programma
apertura file in lettura
lettura dai da file
chiusura file
redimensionamento array in base al numero letto...
ora te lo scrivo in VB:
Option Explicit
Dim Vettore(0 to 1) as Integer 'dichiaro vettore di 2 elementi interi
Private Sub Ridimensione()
Dim nFile as Integer
Dim iDim as Integer
nFile=FreeFile()
Open "testo.txt" for Input as nFile 'apro il file in lettura
Input nFile, iDim 'leggo un intero dal file
Close nFile 'chiudo il file
ReDim Vettore(0 to nDim) as Integer 'redimensiono il vettore perdendo i dati precedenti
ReDim Preserve Vettore(0 to nDim) as Integer 'redimensiono conservando i dati precedenti
End Sub
ti ringrazio per la risposta.
in effetti è come usare l'istruzione ALLOCATE, il problema è che quell'array poi non si può usare nelle sub o function...
il VB è molto più flessibile.
ciao e grazie ancora
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.