作者j0958322080 (Tidus)
看板C_and_CPP
标题[问题] C 读取未知数量档案问题
时间Sat Jan 6 22:29:29 2018
开发平台(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)
1F:→ yeebon: chx64的1/2悖论真的很经典呢07/22 16:41
!!!!!!!!!!!!!!签名档破555000点击率啦!!!!!!!!!!!!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 110.28.162.19
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1515248972.A.ABE.html
2F:→ caras: 你的想法很对,我支持你,放胆去做吧 01/07 01:11
3F:→ caras: 看不出你的问题在哪里,只好表示全力支持 01/07 01:13
4F:→ school4303: 不能边读边纪录?y 01/07 02:05
要如何实现呢??
5F:推 Ommm5566: 用boost filesystem列出资料夹下所有档案 01/07 06:10
主要数看有几笔数据,数据是放在.txt or .cvs
6F:推 alan23273850: 1. argv or 2. two-pass sweep 01/07 08:45
这个再研究一下
※ 编辑: j0958322080 (110.28.162.19), 01/07/2018 09:44:04
7F:→ Darkautism: 你是想要动态阵列?malloc和free 01/07 10:22
8F:→ j0958322080: 之後想想应该是只能用动态阵列去开矩阵,不然会吃很 01/07 10:26
9F:→ j0958322080: 多记忆体 01/07 10:26
10F:→ j0958322080: malloc 有办法我读怎样m*n矩阵进去就纪录m跟n的值吗 01/07 10:28
※ 编辑: j0958322080 (110.28.162.19), 01/07/2018 11:09:37
11F:推 jerryh001: 只能扫两次吧 第一次看有几笔 然後开好空间读第二次 01/07 13:48
12F:→ MOONRAKER: 当然是自己记阿 你到底对malloc有什麽误解 01/07 15:54
13F:→ caras: 不需要扫两次啊,扫到哪存到哪,记忆体配置不够就再增加 01/08 03:33
14F:→ caras: vector, linked-list, 甚至单纯 realloc() 阵列都能做到 01/08 03:35
15F:→ caras: m 跟 n 的值就自己数清楚即可 01/08 03:37
16F:→ jerryh001: 用vector的搬动成本不是会很高吗? 01/08 16:23
17F:→ Schottky: 和档案读一次变成读两次的成本比起来谁高? 01/10 02:16
18F:→ Schottky: 还有别急着掏 iterator 出来,vector 可以当 array 用的 01/10 02:22
19F:推 steve1012: 你先用vector 要是发现成本真的很高再考虑改吧 STL很 01/10 16:49
20F:→ steve1012: 屌的 01/10 16:49