看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) gcc 4.9.2 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): 我有一堆資料要讀進我寫的程式裡面,可是資料數目不一定, 我程式在跑的時候需要知道我的資料有幾筆才能夠往下算, 因為有一些矩陣相乘的部分所以必須要記錄有幾筆資料。 例如: [1 2 3 4 5 ] T [6 7 8 9 10] = A 上有10筆資料,需要開一個 2*5 的矩陣去做, 然後我需要得到 A^T*A = B。 雖然可以事先知道有幾筆資料, 但使用起來最好是能讓程式自己去判斷有幾筆資料比較方便。 感謝各位 http://codepad.org/10n54IRD code大概是這樣,A[k+1][k+1] --> A[p+1][p+1] -- !!!!!!!!!!!!!簽名檔破555000點擊率啦!!!!!!!!!!!!!!! Fw: [問卦] 電影:決勝21點的機率問題 https://goo.gl/2BpbB7 #1MfN3FgZ (joke)
yeebon: chx64的1/2悖論真的很經典呢07/22 16:41
!!!!!!!!!!!!!!簽名檔破555000點擊率啦!!!!!!!!!!!!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.28.162.19 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1515248972.A.ABE.html
caras: 你的想法很對,我支持你,放膽去做吧 01/07 01:11
caras: 看不出你的問題在哪裡,只好表示全力支持 01/07 01:13
school4303: 不能邊讀邊紀錄?y 01/07 02:05
要如何實現呢??
Ommm5566: 用boost filesystem列出資料夾下所有檔案 01/07 06:10
主要數看有幾筆數據,數據是放在.txt or .cvs
alan23273850: 1. argv or 2. two-pass sweep 01/07 08:45
這個再研究一下 ※ 編輯: j0958322080 (110.28.162.19), 01/07/2018 09:44:04
Darkautism: 你是想要動態陣列?malloc和free 01/07 10:22
j0958322080: 之後想想應該是只能用動態陣列去開矩陣,不然會吃很 01/07 10:26
j0958322080: 多記憶體 01/07 10:26
j0958322080: malloc 有辦法我讀怎樣m*n矩陣進去就紀錄m跟n的值嗎 01/07 10:28
※ 編輯: j0958322080 (110.28.162.19), 01/07/2018 11:09:37
jerryh001: 只能掃兩次吧 第一次看有幾筆 然後開好空間讀第二次 01/07 13:48
MOONRAKER: 當然是自己記阿 你到底對malloc有什麼誤解 01/07 15:54
caras: 不需要掃兩次啊,掃到哪存到哪,記憶體配置不夠就再增加 01/08 03:33
caras: vector, linked-list, 甚至單純 realloc() 陣列都能做到 01/08 03:35
caras: m 跟 n 的值就自己數清楚即可 01/08 03:37
jerryh001: 用vector的搬動成本不是會很高嗎? 01/08 16:23
Schottky: 和檔案讀一次變成讀兩次的成本比起來誰高? 01/10 02:16
Schottky: 還有別急著掏 iterator 出來,vector 可以當 array 用的 01/10 02:22
steve1012: 你先用vector 要是發現成本真的很高再考慮改吧 STL很 01/10 16:49
steve1012: 屌的 01/10 16:49