├─◆ 狼盟首页 > 查看贴子 > 详细信息
楼主
[讨论]一道感觉要写500行的编程题

Ex2.33 实系数一元项式问题«问题描述:设计表示一元多项式nc0 + c1x +L+ cn x 的模板类,它支持一元多项式的下列运算:(1)POLY():构造函数,初始化一个0 阶多项式。(2)DEGREE():多项式的阶数。(3)INPUT():输入一个多项式。(4)OUTPUT():输出多项式。(5)ADD(b):多项式加法。(6)SUB(b):多项式减法。(7)MUL(b):多项式乘法。(8)VAL(x):多项式在x 处的值。(8)DEV(x):多项式导数。(8)INDEV(x):多项式不定积分。(常数项c=0)其中(3)—(8)应重载运算符<<、>>、+、-、´和()。«编程任务:给定k个一元实系数多项式f (x) i ,i=1,2,… ,k,以及k-1 个运算符i Ñ ,Ñ Î{+,-,*},i = 1,2, , k -1 i L ,(1)计算( ) ( ( ( ) ( )) ( )) ) g x L f1 x 1 f2 x 2L 1 f x L k - k = Ñ Ñ Ñ 。(2)计算h(x) = d(g(x)) / dx,以及( ) 0 h x 的值。(3)计算q(x) = ò g(x)dx(常数项c=0),以及( ) 0 q x 的值。«数据输入:由文件input.txt给出输入数据。第一行有1 个正整数k,表示有k个一元实系数多项式多项式。接下来有k 个数据块。每个数据块的第1 行是1 个正整数s,表示该数据块共有k行。接下来的s 行中,每行由2个数a 和b,表示多项式中的1 项axb。紧接着k个数据块的是长度为k-1 的字符串,每个字符是“+”,“-”,“*”这3 个字符之一。再接下来的各行,每行有1 个字符和1 个实数。当字符为”d”,实数为n时,表示要求计算(2)中的h(x)和h(n)的值。当字符为”i”,实数为n 时,表示要求计算(3)中的q(x)和q(n)的值。文件最后以2个0 结束。«结果输出:将计算结果输出到文件output.txt。文件的第1 行是计算得到的多项式g(x);第2 行是计算得到的多项式h(x);第3行是h(n)的值;第4 行是计算得到的多项式q(x);第5 行是q(n)的值。输出多项式时,xk 用x^k表示。例如,5x5应表示为5x^5。注意输出的结果应该符合数学中手写习惯。例如,x 不应输出为1x^1。输入文件示例 输出文件示例input.txt output.txt333 34 16 026 21 013 1+*d 0.6i 0.30 09x^4+18x^3+12x^2+21x36x^3+54x^2+24x+2162.6161.8x^5+4.5x^4+4x^3+10.5x^21.09382