[問題] 請問要怎麼把不同個數數據寫入一個矩陣中

作者: pttlyt (讓血液重新滾動)   2014-03-01 22:31:06
不好意思又打擾了...
現在是這樣的我有一組數據示意如下
參考原子編號: 與此原子相對應的其他原子編號
1: 2 5 8
2: 5 9 13 15 16 18
...
以此類推
我試著想要把他寫入一個矩陣中
(e.g 同一列中第一行紀錄參考原子編號,其他行紀錄對應原子編號
但問題是我沒辦法得知這個未知的矩陣大小....
我試過但似乎allocatable的矩陣無法滿足這樣的狀況 (或是可能我操作上有問題...
不知道有沒有什麼方法可以做這樣的事情
或是定義一個絕對超過所需大小的的矩陣 把不足的地方補"0"之類的?
※目前進度有點笨Orz 不過好像有一線曙光這樣...
小弟不才寫了很醜八怪的程式碼= =
決定再產生數據的時候每過一個迴圈讓counter+1
看了之前產生的參差不齊數據最多不超過 25 個
於是我設一個邏輯迴圈當
if (counter<25)
do i=1,(25-counter)
write(*,*)0
end do
end if
於是我整個程式碼醜到爆炸充滿迴圈.......
感謝各位前輩們
好多新手問題SOR...
作者: gilocustom   2014-03-01 22:53:00
你最後提出來的構想是可行的,實際做法就同你字面所述,前提是記憶體足夠。
作者: pttlyt (讓血液重新滾動)   2014-03-01 22:57:00
!!好的我研究看看怎麼做!
作者: gilocustom   2014-03-01 23:02:00
也可以考慮用type自訂結構符合需求的變數。
作者: pttlyt (讓血液重新滾動)   2014-03-01 23:28:00
阿...我看彭那本書還是沒有很懂type 能示範一下簡單例子嗎QAQ
作者: gilocustom   2014-03-01 23:55:00
書裡面應該有附範例吧?若看不懂不妨提出來討論。以範例來說,只要將自訂型態person的內容設為可配置陣列/指標陣列,再將變數a宣告為person型態的可配置陣列/指標陣列,就可以廣義地在同個變數下分別配置不同維度。建議先採用比較單純的做法(配置足夠大的陣列),確定可行但仍有記憶體不夠用之虞再考慮其他做法。

Links booklink

Contact Us: admin [ a t ] ucptt.com