開發平台(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]
作者: caras 2018-01-07 01:11:00
你的想法很對,我支持你,放膽去做吧看不出你的問題在哪裡,只好表示全力支持
作者: yeebon 2018-07-22 16:41:00
chx64的1/2悖論真的很經典呢
作者:
Ommm5566 (56天團)
2018-01-07 06:10:00用boost filesystem列出資料夾下所有檔案
1. argv or 2. two-pass sweep
之後想想應該是只能用動態陣列去開矩陣,不然會吃很多記憶體malloc 有辦法我讀怎樣m*n矩陣進去就紀錄m跟n的值嗎
作者: jerryh001 2018-01-07 13:48:00
只能掃兩次吧 第一次看有幾筆 然後開好空間讀第二次
作者: caras 2018-01-08 03:33:00
不需要掃兩次啊,掃到哪存到哪,記憶體配置不夠就再增加vector, linked-list, 甚至單純 realloc() 陣列都能做到m 跟 n 的值就自己數清楚即可
作者: jerryh001 2018-01-08 16:23:00
用vector的搬動成本不是會很高嗎?
和檔案讀一次變成讀兩次的成本比起來誰高?還有別急著掏 iterator 出來,vector 可以當 array 用的
你先用vector 要是發現成本真的很高再考慮改吧 STL很屌的