10/04/08 01:09:01
>>15
PROGRAM test
IMPLICIT NONE
INTEGER, PARAMETER :: nmax = 100
REAL :: x(nmax, 3), x1, x2, x3
LOGICAL :: qdata(nmax)
INTEGER :: i, k, k0, kh, km, ks, io, ndata
x = 0.0
qdata = .FALSE.
DO i = 1, nmax
READ(10, '(i2, 1x, i2, 1x, i2, 3F5.0)', IOSTAT = io) kh, km, ks, x1, x2, x3
IF (io == -1) EXIT
IF (i == 1) k0 = 3600 * kh + 60 * km + ks - 1
k = 3600 * kh + 60 * km + ks - k0
x(k, 1) = x1
x(k, 2) = x2
x(k, 3) = x3
qdata(k) = .TRUE.
END DO
ndata = k
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DO i = 1, ndata
IF ( .NOT. qdata(i) ) x(i, :) = x(i - 1, :)
END DO
DO i = 1, ndata
PRINT '(i3, ":", L5, 3(1x, F8.2))', i, qdata(i), x(i, :)
END DO
STOP
END PROGRAM test