|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
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
__________________
peter Ultima modifica di peter2 : 14-11-2005 alle 17:19. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
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.
__________________
peter |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
ri
__________________
peter |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
up
__________________
peter |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
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: Codice:
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
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
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
__________________
peter |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:34.



















