What is the solution for skipping the last line in a FORTRAN program?

  • Context: Fortran 
  • Thread starter Thread starter mandel
  • Start date Start date
  • Tags Tags
    Fortran Program
Click For Summary
SUMMARY

The solution for skipping the last line in a FORTRAN program involves modifying the read and write loops in the code. The original code successfully skips the first two lines but fails to exclude the last line of data. By adjusting the loop structure, specifically by reading the date before entering the loop that writes to the output file, the last line can be effectively skipped. The corrected code ensures that the last line is not processed, allowing for accurate data extraction.

PREREQUISITES
  • Basic understanding of FORTRAN programming
  • Familiarity with file I/O operations in FORTRAN
  • Knowledge of loop structures in programming
  • Ability to read and interpret FORTRAN code syntax
NEXT STEPS
  • Explore FORTRAN file handling techniques for advanced data manipulation
  • Learn about FORTRAN array handling to manage larger datasets
  • Investigate error handling in FORTRAN to improve code robustness
  • Study FORTRAN formatting options for output customization
USEFUL FOR

This discussion is beneficial for novice programmers, particularly those learning FORTRAN, as well as anyone working on data processing tasks that require file manipulation and line skipping techniques.

mandel
Messages
1
Reaction score
0
Hi,
I am an newbie programmer and I need some help with modifying a code in fortran. This program is supposed to skip the first two lines and the last line of the sample data and then extract only the date from the date column and write it to and output text file. The program I have now manages to skip the first two lines but I cannot seem to figure out how to skip the last line. Any help would be appreciated. As I indicated I have very little programming experience. Thanks.

DATA:

Date Data
mm/dd/yyyy units
01/01/0001 3.08E+02
01/02/0001 9.50E+01
01/03/0001 5.80E+01
01/04/0001 4.60E+01
01/05/0001 3.90E+01
01/06/0001 3.30E+01
01/07/0001 3.00E+01
01/08/0001 2.90E+01
01/09/0001 2.70E+01
01/10/0001 2.50E+01
Total 6.90E+02

CODE:
Program edate
implicit none
character*10 eDate
integer x,y
integer lntop
integer lnend

lnend = 12
lntop = 2

open(unit=5, file="datafllow.txt")
open(unit=6,file="extDate.txt")

do x=1,lntop
read(5,1000)
enddo

do y=1,lnend
read(5,1010) eDate
write(6,1020) eDate
enddo

close(5)
close(6)

1000 format(1x)
1010 format(a10)
1020 format (a10)
stop
end
 
Technology news on Phys.org
mandel said:
do y=1,lnend
read(5,1010) eDate
write(6,1020) eDate
enddo

change to
mandel said:
read(5,1010) eDate
do y=1,lnend
write(6,1020) eDate
read(5,1010) eDate
enddo

That will skip the last line.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
9K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 3 ·
Replies
3
Views
14K
  • · Replies 20 ·
Replies
20
Views
6K