Re: [問題] 要如何將迴圈值分開存檔

看板Fortran作者 (zx168zx)時間10年前 (2014/11/19 22:12), 編輯推噓1(109)
留言10則, 3人參與, 最新討論串3/3 (看更多)
下面是我又嘗試的新方法 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://www.ptt.cc/bbs/Fortran/M.1416406341.A.15E.html

11/20 07:01, , 1F
把while_loop=0放到do unit=11前面?
11/20 07:01, 1F

11/20 10:49, , 2F
我LOOP是要算 do while裡面的loop數
11/20 10:49, 2F

11/20 10:54, , 3F
好像應該要放前面 但我記事本紀錄的量還是跟LOOP不一樣
11/20 10:54, 3F

11/20 10:56, , 4F
而且記事本裡面紀錄了aa=2 bb=1~2的值
11/20 10:56, 4F

11/20 11:37, , 5F
你I那個DO 要把 aa bb 那些DO 放進去
11/20 11:37, 5F

11/20 11:40, , 6F
會出現fort是因為你寫出到沒指定的檔案
11/20 11:40, 6F

11/20 11:43, , 7F
你filemane可以寫成filemane=trim(i)//".txt"
11/20 11:43, 7F

11/20 11:44, , 8F
open(unit,file=trim(filemane))
11/20 11:44, 8F

11/20 11:45, , 9F
unit 可以不變 但在DO I迴圈裡要加close(unit)
11/20 11:45, 9F

11/21 09:59, , 10F
謝謝 我再試試看
11/21 09:59, 10F
文章代碼(AID): #1KRAL55U (Fortran)
文章代碼(AID): #1KRAL55U (Fortran)