Re: [問題] 未知大小矩陣讀取的問題
※ 引述《openfire (疲憊...)》之銘言:
: 我嘗試使用terryys版友的建議寫出來了
: 在這邊野人獻曝一下
: program main
: implicit none
: integer n,i
: character row
: real,allocatable:: a(:,:)
: n=0 !先讀取檔案判斷矩陣階數
: open (11,file='matrix.txt',status='old')
: do while(.not. eof(11))
: read(11,*) row
: n=n+1
: enddo
: allocate ( a(n,n) )
: rewind(11) !將讀取位置回到檔案開頭
: do i=1,n !將檔案讀進矩陣中
: read(11,*) a(:,i)
: 11 format (I3)
: enddo
: write(*,*)'The input matrix a =' !先在螢幕上print出讀取的檔案狀況
: write(*,*) a !以確認讀取無誤
: end
: 不過老實說我對於a(:,i)的意思還並不是很了解
: 剛剛翻了一下書也沒找到這個指令的詳細說明
: 還是請高手們給點方向吧! 感謝
: 再次跟提供意見的板友們致謝^^
program main
implicit none
integer n,i,j
character row
real*8,allocatable:: a(:,:)
n=0 !先讀取檔案判斷矩陣階數
open (11,file='test.txt',status='old')
do while(.not. eof(11))
read(11,*)row
n=n+1
end do
allocate ( a(n,n) )
rewind(11) !將讀取位置回到檔案開頭
do i=1,n !將檔案讀進矩陣中
read(11,*) a(i,:)
end do
do i =1,n
do j= 1,n
write(*,"(a2,i1,a1,i1,a2,f5.3)")'a(',i,',',j,')=',a(i,j) !以確認讀取無誤
end do
end do
end program
修改了你的程式碼,我覺得這樣寫比較對....= =
可是按照你提出的方法,只能用於row=column的方陣
對於row,column不相等的矩陣,還是難以抓出....
--
猫の会社賣場
http://class.ruten.com.tw/user/index00.php?c=&m=&o=&p=&s=auto_cat
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.181.230
※ 編輯: UDP 來自: 140.127.181.230 (08/12 00:31)
推
08/12 02:48, , 1F
08/12 02:48, 1F
→
08/12 02:49, , 2F
08/12 02:49, 2F
→
08/12 02:50, , 3F
08/12 02:50, 3F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章