注册 登录
编程论坛 C++教室

请问这样的数组如何定义(是否可以定义)。

chlgk 发布于 2010-10-12 09:35, 522 次点击
现有
a[N]=[a1,a2,......,an]
b[M]=[b1,b2,......,bm]
c[K]=[c1,c2,......,ck]
f(x)=a+bx+cx^2;
可否建立一个函数数组
f[L]=[a1+b1x+c1x^2; a2+b1x+c1x^2;.......an+b1x+c1x^2;a1+b2x+c1x^2;......,an+bmx+ckx^2]
如果不行,有什么其他办法可以实现吗?
谢谢了。


6 回复
#2
hahayezhe2010-10-12 09:46
当然能了!
#3
chlgk2010-10-12 18:37
能否具体点吗?? 呵呵
#4
hahayezhe2010-10-12 18:58
怎么具体? 遍历呗!
#5
2010-10-12 19:28
C99特性可以吧  只是听说


但是老版的编译器  好像不支持这种定义···
#6
pangding2010-10-12 22:47
一般用 typedef 語句可以写的清晰一些。要想用函数数组,其实是用的函数指针。
先假设你的函数类型是接收一个 double 返回一个 double 的情况,那么:
typedef double func_t (double);
func_t *array_f[10];
就可以定义一个10个元素的函数指针数组。

不过看你的意思,你倒不是想要很多函数。
编程解决数学问题的思路和人类手解的思路不太一样。
人类手解是利用形式,因为人类其实不是很擅长计算,而是擅长符号推导。所以你找数学书,大多都会写出你一楼的一样的东西。但计算机是相反的,它擅长计算,但几乎无法做符号推导。所以那种形式写法对编程解数学问题帮助不太。
比如人们害怕看到大量的方程组,所以线性方程组就往往利用矩阵形式写成 AX=B 的形式,形式上简单漂亮了,人类计算起来就方便了,但不用为计算机担心这些问题。
看你写的倒像是多元二阶的方程组,不过这个其实根本没法研究。理论解法应该是利用结式,转成一元高阶方程。但一元高阶方程没有形式解。这个领域矩阵也一定能派上用场。

#7
missiyou2010-10-13 15:42
python   就是这样的
1