作者zx168zx (zx168zx)
看板Fortran
標題[問題] 請教一下紀錄資料的問題
時間Wed Feb 11 14:58:02 2015
感謝各位大大
問題已解決 以下提供方法
我的程式大約如下
dimension Z(5) 定義一個dimension
Z(1)=100 定義一個絕對比接下來你要的Z值還大的數字
Z(2)=0
Z(3)=0
Z(4)=0
Z(5)=0
do while (條件)
.
.
.
.
if (條件) then
if (z .LT. Z(1)) then
z=Z(1)
Z(2)=aa
Z(3)=bb
Z(4)=x
Z(5)=y
else
Z(1)=Z(1)
Z(2)=Z(2)
Z(3)=Z(3)
Z(4)=Z(4)
Z(5)=Z(5)
end if
end if
end do
write(127,*) Z(2),Z(3),Z(4),Z(5),Z(1)
結果:
100 10 1 7 8 6
先把第一筆資料存起來 之後出現下一筆資料時
發現9比10小就不紀錄 然後繼續這樣比
讓最後WRITE 只記錄 100 10 1 7 8 6 這筆資料
這方法感覺笨笨的 如果大大們有更好的寫法 再麻煩告訴我一下
有大大跟我說用temp 但無奈看完網路上的用法完全沒有概念
就用這種方法了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.46.243
※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1423637884.A.1FA.html
→ rex0707: OPEN( STATUS='REPLACE')????? 02/11 16:31
※ 編輯: zx168zx (140.116.46.243), 02/11/2015 17:45:30
→ zx168zx: r大 那個寫法是在open筆記本時候吧? 02/11 17:46
→ wenni: 開個temp存 出迴圈後再write? 02/11 18:15
※ 編輯: zx168zx (140.116.46.243), 02/11/2015 20:39:41
→ Cypresslin: 把write移出迴圈,找到z更小的直接取代整組的aa~z變數 02/11 23:08
→ zx168zx: 感謝各位大大提供方法 我來試一下 02/12 12:52
※ 編輯: zx168zx (140.116.46.243), 02/13/2015 14:27:31
→ rex0707: 第二個if的else就不需要了吧? 02/13 15:57
推 zx09192939: else內容確實可拿掉@@直接end if 03/01 14:32