[請益] 沒有讀取到的資料要計算+輸出

看板Fortran作者 (ㄐㄍ)時間11年前 (2013/11/28 13:29), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/3 (看更多)
主程式有一個輸出的問題 就是計算出的值如果是0該筆資料就不會輸出 如下: 1 35.00 2 35.00 3 12.34 4 12.34 5 3.709 6 3.709 7 1.028 8 1.028 9 0.2716 10 0.2716 11 6.9465E-02 12 6.9465E-02 13 1.7356E-02 14 1.7356E-02 15 4.2615E-03 16 4.2615E-03 17 1.0322E-03 18 1.0322E-03 19 2.4730E-04 20 2.4730E-04 83 35.00 84 35.00 85 12.34 86 12.34 87 3.709 88 3.709 89 1.028 90 1.028 91 0.2716 92 0.2716 93 6.9465E-02 94 6.9465E-02 95 1.7356E-02 96 1.7356E-02 97 4.2615E-03 98 4.2615E-03 99 1.0322E-03 100 1.0322E-03 101 2.4730E-04 102 2.4730E-04 其中第21~82的值應該是0所以沒有輸出 102~128的值也是0所以也沒輸出 我現在的程式碼計算大致如下: DO J=1,128 407 CONTINUE READ(104,305,ERR=407)ND,VAL IF(ND.LT.1 .OR. ND.GT.128) GOTO 407 U01=VAL CJ=U01/FRA WRITE(108,306)ND,CJ END DO 但這這樣在輸出檔中只能看到上述有列出來的資料計算結果 21~82 和 102~128 的資料卻無法做計算跟輸出 該怎麼讓fortran程式碼去作判斷 當沒讀到ND值的時候讓VAL=0呢? 簡單來說就是想把1~128的值都可以計算並列出來!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.61.213

12/04 17:07, , 1F
你讀進來的資料有沒有問題? 這段看起來不會略過1-128
12/04 17:07, 1F

12/04 20:41, , 2F
是不是讀進來的資料沒有21-82?或者是21-82的資料不對
12/04 20:41, 2F

12/07 14:19, , 3F
沒有21~82以及103~128,因為該筆資料為0所以程式會不顯示數值
12/07 14:19, 3F

12/07 14:19, , 4F
但是0我還是會拿來做計算
12/07 14:19, 4F
文章代碼(AID): #1IbjIWHi (Fortran)
文章代碼(AID): #1IbjIWHi (Fortran)