Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Fortran 2 dimension array

Status
Not open for further replies.

rkfortran78

Computer
Dec 2, 2012
1
0
0
US
Hello, I am looking for the code in fortran for adding the below data (int, string) into an array
1,"test1"
2,"test2"
3,"test3"
4,"test4"
5,"test5"
Can anyone please provide me the code for this in fortran
 
Replies continue below

Recommended for you

So you want an array of entities, each of which comprises an integer and a string?

One way to do it would be to have an integer array and a string array.
You do not say whether the string value is always the same number of characters, or whether the strings are of five characters each, e.g. test4 or 7 characters like "test4" including the quotes. We can make the elements of the string array as long as the maximum length string you anticipate. How about 32?

Also you need to dimension the array for the maximum file size, if more than 5 lines. How about 1000?


So the code would then be

INTEGER NUMBER(1000)
CHARACTER*32 STRING(1000)
OPEN(11,FILE="filname",ACCESS="SEQUENTIAL", STATUS="OLD")
N=0
99 READ(11,*,END=999)NUMBER(N+1),STRING(N+1)
N=N+1
GO TO 99
999 .....
C NOW YOU KNOW YOU READ IN N INTEGERS AND N ASSOCIATED STRINGS.
C IF A READ-IN STRING IS LESS THAN 32 CHARACTERS, IT IS PADDED OUT WITH TRAILING BLANKS.
C THERE SHOULD BE INTRINSIC STRING FUNCTIONS IN THE FORTRAN THAT ALLOW YOU
C TO REMOVE TRAILING BLANKS WHEN YOU ARE PROCESSING EACH STRING

If your FORTRAN allows derived types you can define a derived type e.g. FILE_LINE
to be a structure comprising an integer and a fixed-length (e.g. 32) string.
Then you can define an array of such entities of the type FILE-LINE

However, it is as well to know the advantages and disadvantages of using derived types.
The advantage is that it reduces the length of argument lists when passing structures into a subsroutines.
The disadvantage is that is obscures what is really going on by moving up a level in abstraction.
 
Status
Not open for further replies.
Back
Top