推 terryys:linux用ifort沒有問題,大概是你編譯器的選項或者安裝問題? 04/27 00:07
→ doun:我不大會使用編譯系統 但我用的是WIN7的介面 04/27 00:09
→ doun:還是可以教我如何在WIN7裡面打開的方法嗎? 04/27 00:09
推 terryys:要是設定都有弄好的話,g95 graetz.f就應該可以了 04/27 00:12
→ doun:設定是關於甚麼東西? 04/27 00:15
推 terryys:環境變數path有加上g95所在的路徑,假設你是用g95 04/27 00:20
→ terryys:或者你不嫌麻煩也可以打上g95的整個路徑 04/27 00:21
→ doun:恩 我是用g95 可能要研究一下path要怎麼設定 04/27 00:21
→ doun:整個路徑是指? 04/27 00:23
→ terryys:就是像c:\g95\g95 graetz.f 04/27 00:25
→ doun:看來不是路徑問題 我執行時他出現的error是 04/27 00:38
→ doun:Warning<108>:Array reference at <1> is out of bounds 04/27 00:38
→ doun:感覺是B的值不能設0 04/27 00:42
推 terryys:剛剛在win7裝了g95,也是這樣 但是warning只是警告,error 04/27 00:47
→ terryys:才是最主要的 雖然這個warning也顯示了程式碼的小問題 04/27 00:48
→ terryys:想解決這個warning就要把變數宣告那裡相關的陣列設成0:XXX 04/27 00:49
→ doun:只不過這樣不能用g95 3.f -o dat的指令轉成執行檔 04/27 00:50
→ terryys:有幾個變數需要這樣做,然後最下面是一個error,說陣列的 04/27 00:50
→ terryys:index不可以用浮點數表示,所以需要把k變成整數 04/27 00:53
→ doun:Rn那一項比較沒頭緒 04/27 00:55
推 terryys:這份程式碼比較奇怪,fortran的陣列都是1開始的,但它寫的 04/27 01:00
→ terryys:好像c一樣,當成是0開始了 04/27 01:01
→ terryys:Error: Array index at (1) must be of INTEGER type 04/27 01:02
→ terryys:你是說這個錯誤嗎? 04/27 01:02
→ doun:那個解決了 是Rn裡 Array reference at <1> is out of bounds 04/27 01:04
推 terryys:奇怪我看不見這個,但它確實是有問題,跟上面的一樣 04/27 01:07
→ doun:OK 順利跑出結果了~ 感謝大大幫助^^ 04/27 01:10
推 terryys:還有就是它以前拿k當浮點數的地方都要看看 k/100之類的 04/27 01:11
→ terryys:要變成k/100.或者類似的才不會變成整數相除 04/27 01:11
→ doun:只不過他跑完怎麼會馬上自動關閉@_@ 04/27 01:13
推 terryys:在cmd裡運行就不會 04/27 01:17
推 terryys:或者在最後的end前加上call system('pause') 04/27 01:21
→ terryys:留意nqt也要加個0,不然最後那裡也會有問題 04/27 01:22
→ doun:他一開始定義的5001是表示程式所能寫進最大的記憶數只有5001? 04/27 01:27
推 terryys:是從1到5001的5001個數值,所以它想用第0個就可能有問題 04/27 01:33