[问题] C 读取未知数量档案问题

楼主: j0958322080 (Tidus)   2018-01-06 22:29:29
开发平台(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
你的想法很对,我支持你,放胆去做吧看不出你的问题在哪里,只好表示全力支持
作者: school4303 (某爬虫类)   2018-01-07 02:05:00
不能边读边纪录?y
作者: yeebon   2018-07-22 16:41:00
chx64的1/2悖论真的很经典呢
作者: Ommm5566 (56天團)   2018-01-07 06:10:00
用boost filesystem列出资料夹下所有档案
作者: alan23273850   2018-01-07 08:45:00
1. argv or 2. two-pass sweep
作者: Darkautism (达卡特森)   2018-01-07 10:22:00
你是想要动态阵列?malloc和free
楼主: j0958322080 (Tidus)   2018-01-07 10:26:00
之后想想应该是只能用动态阵列去开矩阵,不然会吃很多内存malloc 有办法我读怎样m*n矩阵进去就纪录m跟n的值吗
作者: jerryh001   2018-01-07 13:48:00
只能扫两次吧 第一次看有几笔 然后开好空间读第二次
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-01-07 15:54:00
当然是自己记阿 你到底对malloc有什么误解
作者: caras   2018-01-08 03:33:00
不需要扫两次啊,扫到哪存到哪,内存配置不够就再增加vector, linked-list, 甚至单纯 realloc() 阵列都能做到m 跟 n 的值就自己数清楚即可
作者: jerryh001   2018-01-08 16:23:00
用vector的搬动成本不是会很高吗?
作者: Schottky (顺风相送)   2018-01-10 02:16:00
和档案读一次变成读两次的成本比起来谁高?还有别急着掏 iterator 出来,vector 可以当 array 用的
作者: steve1012 (steve)   2018-01-10 16:49:00
你先用vector 要是发现成本真的很高再考虑改吧 STL很屌的

Links booklink

Contact Us: admin [ a t ] ucptt.com