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

作者: JiGo (ㄐㄍ)   2013-11-28 13:29:00
主程式有一個輸出的問題
就是計算出的值如果是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的值都可以計算並列出來!!
作者: Cypresslin (啊哈哈~~)   2013-02-04 17:07:00
你讀進來的資料有沒有問題? 這段看起來不會略過1-128
作者: terryys (terry)   2013-02-04 20:41:00
是不是讀進來的資料沒有21-82?或者是21-82的資料不對
作者: JiGo (ㄐㄍ)   2013-02-07 14:19:00
沒有21~82以及103~128,因為該筆資料為0所以程式會不顯示數值但是0我還是會拿來做計算

Links booklink

Contact Us: admin [ a t ] ucptt.com