PDA

View Full Version : [ForTran] Contare il numero di righe di un file


Pikitano
20-10-2008, 16:28
Ciao a tutti,
come da titolo sto cercando un modo per contare le righe di un file che utilizzo come input col mio programma.

Sinceramente la soluzione l'avrei trovata:

66 READ (10,*,END=77)

n=n+1

GOTO 66

77 CONTINUE

ma purtroppo la mia professoressa di informatica non vuole assolutamente vedere istruzioni GOTO..... :help:

Pikitano
30-10-2008, 11:55
Evidentemente ad utilizzare ForTran siamo rimasti in quattro gatti, e questo lo sapevo....comunque ho trovato la soluzione al "problema" e quindi la condivido (si sa mai che a qualcuno prima o poi possa servire :mc:)

Ecco il codice:
DO WHILE (var==0)

READ (10,*, IOSTAT=var)

n=n+1

ENDDO

In pratica il ciclo DO legge il file fino a che var==0 ("var" diventerà diversa da zero quando il programma tenterà di leggere dopo l'ultima riga). Unica accortezza: inizializzare "n" a zero in quanto la prima lettura viene fatta senza un vero controllo sul valore di "var"