[請益] 如何將矩陣值傳入副程式?

看板Fortran作者 (zx168zx)時間10年前 (2014/10/22 18:14), 10年前編輯推噓2(201)
留言3則, 1人參與, 最新討論串1/2 (看更多)
小弟想請益一下 如何將主程式所設定好的矩陣傳入副程式 小弟的矩陣是四維的 一開始先設定allocatable的四維可變矩陣 allocatable :: aaa(:,:,:,:) allocatable :: bbb(:,:,:,:) ----中間計算ii,jj,kk-------- allocate ( aaa(ii,jj,kk,3) ) allocate ( bbb(ii,jj,kk,3) ) 之後open六個檔案分別寫入aaa,bbb中 我是用 do 1,kk do 1,jj do 1,ii read(114,......) read(115,......) read(116,......) read(117,......) read(118,......) read(119,......) aaa(i,j,k,1) = 114的資料 aaa(i,j,k,2) = 115的資料 aaa(i,j,k,3) = 116的資料 bbb(i,j,k,1) = 117的資料 bbb(i,j,k,2) = 118的資料 bbb(i,j,k,3) = 119的資料 enddo enddo enddo 把資料寫進去 像是四維資料庫的方式 然後我的subroutine需要用到我這個四維矩陣的值 但我現在不知道要如何將這個矩陣傳入 他在執行後出現 error LNK2001: unresolved external symnol aaa@16 error LNK2001: unresolved external symnol bbb@16 我有想過是不是要用interface 但看彭大的書好像是回傳在用 麻煩各位大大解惑 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.46.243 ※ 文章網址: http://www.ptt.cc/bbs/Fortran/M.1413972895.A.771.html ※ 編輯: zx168zx (140.116.46.243), 10/22/2014 18:22:54

10/22 20:33, , 1F
直接傳入陣列(a,b)跟陣列的大小值(ii,jj,kk)
10/22 20:33, 1F

10/22 20:35, , 2F
然後副程式再宣告兩個大小用變數來宣告的陣列來接收
10/22 20:35, 2F

10/22 20:39, , 3F
彭國倫那本p.217
10/22 20:39, 3F
文章代碼(AID): #1KHuEVTn (Fortran)
文章代碼(AID): #1KHuEVTn (Fortran)