早教吧作业答案频道 -->其他-->
用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++编一个一元多项式计算...的网友还看了以下:
您输入的公式存在错误。如果您输入的内容不是公式,请在第一个字符之前输入单引号。这个该怎么解决。如下 2020-05-14 …
Excel日期和时间计算公式在单元格A1输入日期2013-7-20,在B1单元格内输入时间12:1 2020-05-16 …
离心泵按叶轮吸入方式可分为( )。A.单吸式和双吸式B.单级泵和多级泵C.卧式泵和立式泵 2020-05-28 …
按照电路主结构分类,UPS可分为()。A.离线式UPSB.在线式UPSC.单相输入/单相输出UPSD 2020-05-29 …
在Word2003中,有关数学公式的下列说法正确的是()数学公式也是一种对象插入数学公式可以通过“ 2020-07-26 …
用C++编一个一元多项式计算器大虾们设计一个稀疏多项式简单计算器基本要求:(1)输入并分别建立多项 2020-08-03 …
一元多项式计算器(《数据结构》,请用C++语言)问题描述:设计一个稀疏多项式简单计算器基本要求:( 2020-08-03 …
2.在Word文档中输入复杂的数学公式,执行——命令。A.“插入”菜单中的对象B.“表格”菜单中的公 2020-11-01 …
下列关于Excel2003中添加边框、颜色操作的叙述,错误的是选择格式菜单栏下的单元格选项进入边框填 2020-11-07 …
Word2000默认的插入剪贴画和图片的形式是()★单选题:>Word2000默认的插入剪贴画和图片 2020-11-08 …