Re: [問題] 依照迴圈變數讀取陣列

看板Fortran作者 (ㄐㄍ)時間11年前 (2013/12/27 11:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《snowanimal (動物先生)》之銘言: : ※ 引述《JiGo (ㄐㄍ)》之銘言: : : 目前有一筆11x11的資料(二維陣列?) : : 每一個橫行的資料我都會分別做計算所以使用一維陣列去讀值 : : 但是我要的資料只有矩陣的一半,對角線是右上到左下 : : 如下: : : 1 1 1 1 1 1 1 1 1 1 1 : : 1 1 1 1 1 1 1 1 1 1 0 : : 1 1 1 1 1 1 1 1 1 0 0 : : 1 1 1 1 1 1 1 1 0 0 0 : : 1 1 1 1 1 1 1 0 0 0 0 : : 1 1 1 1 1 1 0 0 0 0 0 : : 1 1 1 1 1 0 0 0 0 0 0 : : 1 1 1 1 0 0 0 0 0 0 0 : : 1 1 1 0 0 0 0 0 0 0 0 : : 1 1 0 0 0 0 0 0 0 0 0 : : 1 0 0 0 0 0 0 0 0 0 0 : 1的部分是我要讀的值,並做一點計算 : 如果我沒搞錯問題,那麼方法該跟下面的方式差不多。 : 先聲明一點,因為太久沒用fortran,所以我無法保證語法的正確性。 : do x=LYR,1,-1 (迴圈11次) : array(x)=0.0 : read (,)array(x) : enddo : 迴圈的變數可以由小變大,也可以由大變小。 : 所以你就讓他從11格讀到剩下1格就好啦,然後計算的東西就包在迴圈裡面即可。 : 我不確定是不是百分之百正確,因為太久沒用fortran,所以語法可能有誤。 應該這樣說 我是用下面的方式去讀值 101 READ(Rline,FMT3)U_B,U_A 102 READ(Rline,FMT4)U_1,U_2,U_3,U_4,U_5,U_6,U_7,U_8,U_9 FMT3和FMT4會隨迴圈數變化 先讀最外面的兩個值 再讀中間的其他值 但是在第二個迴圈的時候U_9因為不在格式中所以會有錯誤 第三個圈時U_8和U_9亦然 因此造成程式停擺 所以想問說在102行後面讀取值的編號與個數 要怎麼用成可以隨迴圈數改變 因為每個值都會用來計算 所以想對讀取到的每個值做編號 隨後可能就是利用 U_A+2*U_1+3*U_2+.......+n*U_B 之類的計算 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.61.213
文章代碼(AID): #1IlFTH9X (Fortran)
文章代碼(AID): #1IlFTH9X (Fortran)