早教吧作业答案频道 -->其他-->
用C++编一个一元多项式计算器大虾们设计一个稀疏多项式简单计算器基本要求:(1)输入并分别建立多项式A和B.(2)输入输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……,其中n是多项式的项
题目详情
用C++编一个一元多项式计算器 大虾们
设计一个稀疏多项式简单计算器
基本要求:
(1) 输入并分别建立多项式A和B.
(2) 输入输出多项式,输出形式为整数序列:
n,c1,e1,c2,e2……,
其中n是多项式的项数,ci和ei是第i项的系数和指数,序列按指数降序排列.
(3)完成两个多项式的相加、相减,并将结果输出.
测试数据:
(1)A+B A=3x14-8x8+6x2+2;
B=2x10+4x8+-6x2?
(2) A-B A=11x14+3x10+2x8+10x6+5 ;
B=2x14+3x8+5x6+7
(3) A+B A=x3+x1 ; B=-x3-x1
(4) A+B A=0 ; B=x7+x5+x3+x1
(5)A-B A=100x100+50x50+20x20+x ;
B=10x100+10x50+10x20+x
选作内容:
(1)多项式在x=1时的运算结果;
(2)求多项式A和B的乘积.
需要在VC++6.0上运行编译
设计一个稀疏多项式简单计算器
基本要求:
(1) 输入并分别建立多项式A和B.
(2) 输入输出多项式,输出形式为整数序列:
n,c1,e1,c2,e2……,
其中n是多项式的项数,ci和ei是第i项的系数和指数,序列按指数降序排列.
(3)完成两个多项式的相加、相减,并将结果输出.
测试数据:
(1)A+B A=3x14-8x8+6x2+2;
B=2x10+4x8+-6x2?
(2) A-B A=11x14+3x10+2x8+10x6+5 ;
B=2x14+3x8+5x6+7
(3) A+B A=x3+x1 ; B=-x3-x1
(4) A+B A=0 ; B=x7+x5+x3+x1
(5)A-B A=100x100+50x50+20x20+x ;
B=10x100+10x50+10x20+x
选作内容:
(1)多项式在x=1时的运算结果;
(2)求多项式A和B的乘积.
需要在VC++6.0上运行编译
▼优质解答
答案和解析
选做内容也给你做了,给我加分不?:)
VC++2008下编译运行通过,输入输出格式都是n,c1,e1,c2,e2……
#include
#include
#include
using namespace std;
typedef map PnType;
void readPn(PnType &pn)
{
int n,c,e;
scanf("%d",&n);
while (n--) {
scanf(",%d,%d",&c,&e);
pn[e] = c;
}
}
void writePn(const PnType &pn)
{
cout second;
}
void mulPn(const PnType &a,const PnType &b,PnType &c)
{
c.clear();
for (PnType::const_iterator it1 = a.begin(); it1 != a.end(); ++it1)
for (PnType::const_iterator it2 = b.begin(); it2 != b.end(); ++it2)
c[it1->first + it2->first] += it1->second * it2->second;
}
int calcX1(const PnType &a)
{
int n=0;
for (PnType::const_iterator it = a.begin(); it != a.end(); ++it)
n += it->second;
return n;
}
void main()
{
PnType A,B,C;
cout
VC++2008下编译运行通过,输入输出格式都是n,c1,e1,c2,e2……
#include
#include
#include
using namespace std;
typedef map PnType;
void readPn(PnType &pn)
{
int n,c,e;
scanf("%d",&n);
while (n--) {
scanf(",%d,%d",&c,&e);
pn[e] = c;
}
}
void writePn(const PnType &pn)
{
cout second;
}
void mulPn(const PnType &a,const PnType &b,PnType &c)
{
c.clear();
for (PnType::const_iterator it1 = a.begin(); it1 != a.end(); ++it1)
for (PnType::const_iterator it2 = b.begin(); it2 != b.end(); ++it2)
c[it1->first + it2->first] += it1->second * it2->second;
}
int calcX1(const PnType &a)
{
int n=0;
for (PnType::const_iterator it = a.begin(); it != a.end(); ++it)
n += it->second;
return n;
}
void main()
{
PnType A,B,C;
cout
看了 用C++编一个一元多项式计算...的网友还看了以下:
excel中对一列除以另一列的结果值求平均值,一般公式为=average(A1/B1,A2/B2, 2020-05-16 …
matlab输出结果中的 iMatlab 中 我算一个行列式 输出的结果是这四个2.1765e+0 2020-06-27 …
一个c程序求大神给定圆的半径r,求圆的面积.输入格式输入包含一个整数r,表示圆的半径.输出格式输出 2020-07-20 …
用C++编一个一元多项式计算器大虾们设计一个稀疏多项式简单计算器基本要求:(1)输入并分别建立多项 2020-08-03 …
一元多项式计算器(《数据结构》,请用C++语言)问题描述:设计一个稀疏多项式简单计算器基本要求:( 2020-08-03 …
excel中,两列分别相乘后求和如何用公式表达?想完成如下计算:将两列值分别相乘后求和:如:D1*E 2020-10-31 …
(10分)传送带设备种类繁多,主要有带式输送机、板式输送机、小车式输送机、自动扶梯、自动人行道、刮板 2020-11-07 …
[freepascal]矩阵问题描述输入一个矩阵的行数,输出对应的图形(对角线数据为0,其余为1)。 2020-11-18 …
成渝地区水电站众多的主要自然原因?四川省输出最多的非可再生能源是?该能源最合理的运输方式是?简述能源 2020-12-14 …
给一个不多于三位的整数,求出它是几位数,并分别打印出各位上的数字。输入格式一行,一个自然数n输出格式 2020-12-15 …