PDA

View Full Version : [Fortran] istruzione assegnazione


TuLKaS85
25-07-2008, 11:41
Salve, devo convertire questo algoritmo scritto in Fortran in C
ho dei problemi su un istruzione in particolare
allego per comprendere meglio tutta la subroutine...

SUBROUTINE XERROR(MESS,NMESS,NERR,LEVEL)
CHARACTER*(*) MESS
INTEGER NMESS,NERR,LEVEL,NN,NR,K,I,KMIN,MIN
IF (NMESS.LE.0) THEN
PRINT *,' IN XERROR, NMESS IS OUT OF RANGE'
ELSE
NN=NMESS/70
NR=NMESS-70*NN
IF(NR.NE.0) NN=NN+1
K=1
PRINT 900
900 FORMAT(/)
DO 10 I=1,NN
KMIN=MIN(K+69,NMESS)
PRINT *, MESS(K:KMIN)
K=K+70
10 CONTINUE
RETURN
END IF
END

ho evidenziato in grassetto quello che non ho capito...
KMIN=MIN(K+69,NMESS)

qui MIN č un INTEGER cosa vuol dire usare la parentesi tonda accanto ad na variabile in una assegnazione ??

Ziosilvio
25-07-2008, 12:45
A me sembra che, per qualche motivo che ignoro, ci sia una variabile con lo stesso nome di una funzione di libreria...

TuLKaS85
25-07-2008, 14:13
sarebbe una logica corretta la tua...
infatti in un primo momento non essendomi accorto della variabile Min m'ero messo in cerca di una function MIN per Fortran su google ma nn ho trovato nulla...

TuLKaS85
25-07-2008, 16:08
alla fine ho trovato su un sito che esiste una funzione matematica Min per Fortran... chissā sarā questa la soluzione ?

Ziosilvio
25-07-2008, 18:13
Sembra di sė.
La cosa che mi sembra incredibile, č che ci siano due oggetti con lo stesso nome (una variabile e una funzione) e il compilatore non faccia una grinza, non sollevi nemmeno un warning... boh...