作者zx168zx (zx168zx)
看板Fortran
標題Re: [問題] 要如何將迴圈值分開存檔
時間Wed Nov 19 22:12:18 2014
下面是我又嘗試的新方法
program test
IMPLICIT REAL * 8 (A - H, O - Z)
IMPLICIT integer * 8 (I-N)
character(100)::filename
filename='000.txt'
nn=2 !記事本數量
do i=1,nn
unit=i+10
write(filename(1:3),'(i3.3)') i
open(unit=unit,file=filename,status='unknown',position='rewind')
end do
do aa=2,2
do bb=1,2
do unit=11,nn+10
while_loop=0 !計算do whlie內的迴圈數
do while(條件)
while_loop=while_loop+1
write(unit,"( 3(F13.5))") aa,bb,X
enddo
enddo
write((125,*) aa,bb,while_loop
enddo
enddo
這樣執行的結果我可以創出編號001~nn個記事本並寫入資料
但他並不會依照我的aa,bb迴圈寫入
比如001記事本 依然寫入aa=2 bb=1,aa=2,bb=2的資料
002記事本也是如此
而且寫入的資料量與我的loop數不合 不知道是哪邊出了問題
另外執行完會跑出fort.124這個檔案 也不知道為什麼會跑出來
想請問各位大大前輩們 這樣是哪邊寫法有誤嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.46.236
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Fortran/M.1416406341.A.15E.html
1F:推 laa7352: 把while_loop=0放到do unit=11前面? 11/20 07:01
2F:→ zx168zx: 我LOOP是要算 do while裡面的loop數 11/20 10:49
3F:→ zx168zx: 好像應該要放前面 但我記事本紀錄的量還是跟LOOP不一樣 11/20 10:54
4F:→ zx168zx: 而且記事本裡面紀錄了aa=2 bb=1~2的值 11/20 10:56
5F:→ fcuiii: 你I那個DO 要把 aa bb 那些DO 放進去 11/20 11:37
6F:→ fcuiii: 會出現fort是因為你寫出到沒指定的檔案 11/20 11:40
7F:→ fcuiii: 你filemane可以寫成filemane=trim(i)//".txt" 11/20 11:43
8F:→ fcuiii: open(unit,file=trim(filemane)) 11/20 11:44
9F:→ fcuiii: unit 可以不變 但在DO I迴圈裡要加close(unit) 11/20 11:45
10F:→ zx168zx: 謝謝 我再試試看 11/21 09:59