Fortran Help with Fortran90: Reading a File

  • Thread starter Thread starter ne_237
  • Start date Start date
  • Tags Tags
    Fortran90
AI Thread Summary
The discussion revolves around a user seeking help with reading and writing data in Fortran90. The user has a file containing mixed numbers and characters, and they want to format the output into two columns, with specific handling for numbers followed by 'r' indicating iterations. Another issue raised is writing arrays to a file as a matrix, where the user struggles with formatting the output correctly. Suggestions include using specific write commands to ensure the desired column output, such as "write(12,*) x(i,:)" for writing entire rows. The conversation highlights the challenges of using Fortran for such tasks, with some participants suggesting that Python might be a more efficient alternative, although the user is committed to solving the problem in Fortran90. The use of the gnu Fortran compiler "g95" is mentioned as successfully handling the output formatting.
ne_237
Messages
9
Reaction score
0
Hi All
I have a problem in the work with Fortran90. I have a file that don't have any idea for read it. It consiste of number and character.For example it includes as below
1 15193r 8 9r 4 6 74r,...
I want to write these numbers in 2 columns. For example
1 15193
8 9
4 0
6 74
terms with r show the number of iteratin and number ( that after it dosen't exist term with r) shows that this number has no iteration. Please help me.

Thanks a lot.
 
Technology news on Phys.org
Honestly Fortran is one of the worst languages for that type of problem. It would probably be quicker to do it in Python, even if you had to teach yourself the basics of Python first.

Do you have any other languages available?
 
Thanks Uart.But I had to solve this problem with Fortran90.
 
I have a problem in write arrays also.How I do write rows and columns in file as matrix.
For example I use this program:
do i=1,10
write(12,*)(x(i,j),j=1,20)
end do
but in file only 4columns are showed and 20columns are breaked.Can anyone help me?
Thanks a lot.
 
Last edited:
Hi ne 237

If the matrix only has 20 columns then try using to following

write(12,*) x(i,:)

If it's got more than 20 (but you only want to output the first 20) try

write(12,*) x(i,1:20)
 
Thanks a lot Uart for reply
But I want to the output will be as below:
1 2 2 3 2 3 4 3 5 3 5 3 6 4 5 8 9 45 65 14
...
...
...
that is 20columns (or more in other program)write in different rows.
 
Yeah that's how it works for me (you still need the outer for loop of course).

do i=1,10
write(12,*) x(i,:)
end do

I'm using the freeware gnu fortran compiler "g95" and the above code correctly writes the matrix, whole row per line, to an output text file.
 
Thank you very much.
 

Similar threads

Replies
16
Views
3K
Replies
2
Views
2K
Replies
5
Views
5K
Replies
5
Views
9K
Replies
11
Views
3K
Replies
12
Views
3K
Replies
18
Views
2K
Replies
2
Views
2K
Back
Top