我正在做一個化學研究項目,目前在名爲Connectivity-M.txt
的文件中有一個378 x 378的零和一個矩陣。我正在嘗試編寫一個簡單的程序來讀取矩陣的每一列,並查找值爲1的條目。由於矩陣的格式爲A(i,j)
,我想要編寫i
,j
位置,以找到每個值爲一個新文件Wires.txt
的位置。這是我到目前爲止的代碼:如何讀取矩陣並將某些值寫入fortran90中的新文件
program connectivity_matrixread
IMPLICIT none
integer :: i , j
INTEGER, DIMENSION(378,378) :: A
open(unit = 1 , file = "Connectivity-M.txt")
open(unit = 2 , file = "Wires.txt")
! Read values
do i = 1 , 378
do j = 1 , 378
Read(1,*) A(i,j)
if (A(i,j) .eq. 1) then
write(2,*) i , j
endif
enddo
enddo
end program connectivity_matrixread
的程序管理來讀取第一列那裏是隻有值1。單個條目它寫出這個條目的i
,j
位置,但否則我得到一個錯誤,讀取:
At line 25 of file conn-read.f90 (unit = 1, file = 'Connectivity-M.txt')
Fortran runtime error: End of file
移動打開文件語句後,我仍然收到相同的錯誤。錯誤引用的行包含read語句。對不起,我對Fortran和堆棧溢出都很陌生,我非常感謝幫助。
花幾分鐘時間熟悉SO,以及如何最好地在這裏提出問題。特別是,瞭解如何將代碼段格式化爲代碼;看到文本編輯框上方的小圖標,尤其是看起來像「{}」的圖標。我和很多Fortran程序員一樣,太老,脾氣暴躁,無法幫助那些不盡如人意的人。 –