多项式相加
来源:互联网 发布:node eclipse 插件 编辑:程序博客网 时间:2024/06/12 01:25
利用链表实现多项式的加,减,乘;
#ifndef _POLYN_H
#define _POLYN_H
#include<iostream>
#include<assert.h>
using namespace std;
typedef struct PolynNode
{
float coef;
int expn;
struct PolynNode *link;
}PolynNode;
typedef PolynNode* Polyn;
void _insert(Polyn &pn, PolynNode *s);
void InitPolyn(Polyn &pn);
void CreatePolyn(Polyn &pn, int m);
void ShowPolyn(Polyn pn);
Polyn PolynAdd(Polyn pa, Polyn pb);
Polyn PolynSub(Polyn pa, Polyn pb);
Polyn PolynMul(Polyn pa, Polyn pb);
#endif
#include"Polyn.h"
void _insert(Polyn &pn, PolynNode *s)
{
if(s->coef == 0)
{
free(s);
s = NULL;
}
else
{
if(pn == NULL)
{
pn = s;
return;
}
PolynNode *p = pn;
PolynNode *q = NULL;
while(p!=NULL && p->expn>s->expn)
{
q = p;
p = p->link;
}
if(q == NULL)
{
s->link = pn;
pn = s;
return;
}
if(p!=NULL)
{
s->link = p;
}
q->link = s;
}
}
void InitPolyn(Polyn &pn)
{
pn = NULL;
}
void CreatePolyn(Polyn &pn,int m)
{
for(int i=1; i<=m; ++i)
{
PolynNode *s = (PolynNode*)malloc(sizeof(PolynNode));
assert(s != NULL);
s->link = NULL;
cout<<"请输入第"<<i<<"项的系数和指数:>";
cin>>s->coef>>s->expn;
_insert(pn, s);
}
}
void ShowPolyn(Polyn pn)
{
PolynNode *p = pn;
while(p != NULL)
{
cout<<p->coef<<"x^"<<p->expn<<"+";
p = p->link;
}
}
Polyn PolynAdd(Polyn pa, Polyn pb)
{
Polyn pn;
return pn;
}
Polyn PolynSub(Polyn pa, Polyn pb)
{
Polyn pn;
return pn;
}
Polyn PolynMul(Polyn pa, Polyn pb)
{
Polyn pn;
return pn;
}
#include<iostream>
#include"Polyn.h"
using namespace std;
void main()
{
Polyn pa;
Polyn pb;
Polyn pc;
InitPolyn(pa);
InitPolyn(pb);
InitPolyn(pc);
int m;
int select = 1;
while(select)
{
cout<<"***********************************"<<endl;
cout<<"*[1]创建多项式pa [2]创建多项式pb *"<<endl;
cout<<"*[3]显示多项式pa [4]显示多项式pb *"<<endl;
cout<<"*[5]多项式相加 [6]多项式相减 *"<<endl;
cout<<"*[7]多项式相乘 [0]退出系统 *"<<endl;
cout<<"***********************************"<<endl;
cout<<"请选择:>";
cin>>select;
switch(select)
{
case 1:
cout<<"请输入多项式的项数:>";
cin>>m;
CreatePolyn(pa, m);
break;
case 2:
break;
case 3:
cout<<"pa = ";
ShowPolyn(pa);
cout<<endl;
break;
case 5:
pc = PolynAdd(pa, pb);
break;
}
}
}
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 多项式相加
- 两个多项式相加!
- Ubuntu下自动运行程序方法
- hexo + github 搭建个人博客
- 条码标签设计软件Nicelabel使用方法
- 草根的逆袭出路何在
- 北大青鸟电影管理系统
- 多项式相加
- GO select用法详解
- linux下各目录含义
- versionCompare js版
- Android 查看依赖的方法,妈妈再也不用担心jar包冲突找不到了
- SSS
- c++引用,指针,const
- Spark Streaming 实现思路与模块概述
- 发送post请求