N个一元多项式的加减乘除执行代码

N 个一元多项式的加减乘除执行代码 #include

using namespace std;

struct Node

{

public:

};

class List

{

public:

Node *CreatList(Node *Head);

Node *InsertNode(Node *Head,Node *Ptr); Node *AddList(Node *Head1,Node *Head2); Node *SubList(Node *Head1,Node *Head2);

};

Node *List::CreatList(Node *Head)

{

int num=0;

Node *Ptr=new Node; Ptr->next=NULL; cout>num; for (int i=1;i>Ptr->coe; cin>>Ptr->exp; if (Ptr->coe==0) { } else { } InsertNode(Head,Ptr); Node *MulList(Node *Head1,Node *Head2); int coe; int exp; Node *next; Ptr=new Node; Ptr->next=NULL;

return Head;

}

Node *List::InsertNode(Node *Head,Node *Ptr) {

Node *PrePos=new Node; Node *NowPos=Head->next; if (NowPos==NULL) { Head->next=Ptr; Ptr->next=NULL; } else { PrePos=Head; while(NowPos!=NULL) { if (Ptr->exp>NowPos->exp) { PrePos->next=Ptr; Ptr->next=NowPos; break; } else if(Ptr->expexp) { } else { if ((Ptr->coe+NowPos->coe)==0) { PrePos->next=NowPos->next; delete NowPos; PrePos=NowPos; NowPos=NowPos->next; break; } else { } NowPos->coe=Ptr->coe+NowPos->coe; break; } if (NowPos==NULL) {

} } } } Ptr->next=NULL; return Head;

Node *List::AddList(Node *Head1,Node *Head2) {

Node *NewHead=new Node; Node *Ptr=new Node; Ptr->next=NULL; NewHead->next=NULL; Node *Ptr1=Head1->next; Node *Ptr2=Head2->next; if (Ptr1==NULL) { if (Ptr2==NULL) { } else { while(Ptr2!=NULL) { } Ptr->coe=Ptr2->coe; Ptr->exp=Ptr2->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node; Ptr->next=NULL; Ptr2=Ptr2->next; } } else { if (Ptr2==NULL) { while(Ptr1!=NULL) { Ptr->coe=Ptr1->coe; Ptr->exp=Ptr1->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node;

} } Ptr1=Ptr1->next; } } else { } while(Ptr1!=NULL) { } while(Ptr2!=NULL) { Ptr->coe=Ptr2->coe; } Ptr->exp=Ptr2->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node; Ptr->next=NULL; Ptr2=Ptr2->next; Ptr->coe=Ptr1->coe; Ptr->exp=Ptr1->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node; Ptr->next=NULL; Ptr1=Ptr1->next; return NewHead;

Node *List::SubList(Node *Head1,Node *Head2) {

Node *NewHead=new Node; Node *Ptr=new Node; Ptr->next=NULL; NewHead->next=NULL; Node *Ptr1=Head1->next; Node *Ptr2=Head2->next; if (Ptr1==NULL) { if (Ptr2==NULL) { }

} else { { } while(Ptr2!=NULL) { Ptr->coe=-Ptr2->coe; } Ptr->exp=Ptr2->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node; Ptr->next=NULL; Ptr2=Ptr2->next; if (Ptr2==NULL) { while(Ptr1!=NULL) { Ptr->coe=Ptr1->coe; Ptr->exp=Ptr1->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node; Ptr->next=NULL; Ptr1=Ptr1->next; } } else { while(Ptr1!=NULL) { } while(Ptr2!=NULL) { Ptr->coe=-Ptr2->coe; Ptr->exp=Ptr2->exp; NewHead=InsertNode(NewHead,Ptr); Ptr->coe=Ptr1->coe; Ptr->exp=Ptr1->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node; Ptr->next=NULL; Ptr1=Ptr1->next;

}

} } } Ptr->next=NULL; Ptr2=Ptr2->next; return NewHead;

Node *List::MulList(Node *Head1,Node *Head2) {

Node *NewHead=new Node; Node *Ptr=new Node; Ptr->next=NULL; NewHead->next=NULL; Node *Ptr1=Head1->next; Node *Ptr2=Head2->next; if (Ptr1==NULL) { } else { if (Ptr2==NULL) { } else { while(Ptr1!=NULL) { } while(Ptr2!=NULL) { } Ptr->coe=Ptr1->coe*Ptr2->coe; Ptr->exp=Ptr1->exp+Ptr2->exp; NewHead=InsertNode(NewHead,Ptr); Ptr=new Node; Ptr->next=NULL; Ptr2=Ptr2->next; Ptr=new Node; Ptr->next=NULL; Ptr2=Head2->next; Ptr1=Ptr1->next;

}

} return NewHead;

void ShowList(Node *Head) {

Node *Ptr=Head->next; if (Ptr==NULL) { } else { if (Ptr->coe>0) { if (Ptr->coe==1) { if (Ptr->exp==0) { coutcoe; } else if(Ptr->exp==1) { } coutexp; } } else { if (Ptr->exp==0) { coutcoe; } else if(Ptr->exp==1) { } else { coutcoe

} } } else { } if (Ptr->coe==-1) { } else { if (Ptr->exp==0) { } coutcoe; } else if(Ptr->exp==1) { coutcoecoeexp; if (Ptr->exp==0) { coutcoe; } else if(Ptr->exp==1) { } coutexp; } Ptr=Ptr->next; while (Ptr!=NULL) { if (Ptr->coe>0) { if (Ptr->coe==1) {

} else { { coutcoe; } else if(Ptr->exp==1) { } else { } coutexp; coutexp==0) { coutcoe; } else if(Ptr->exp==1) { coutcoecoeexp; } } else { if (Ptr->coe==-1) { if (Ptr->exp==0) { } else if(Ptr->exp==1) { } else { coutexp; coutcoe;

} } } else { if (Ptr->exp==0) { coutcoe; } else if(Ptr->exp==1) { } else { } coutcoeexp; coutcoenext; }

void main() {

Node *head1=new Node; Node *head2=new Node; head1->next=NULL; head2->next=NULL; List list1; List list2; List NewList; head1=list1.CreatList(head1); head2=list2.CreatList(head2); cout

cout


相关文章

  • 数据结构课程设计一元多项式的加减法运算
  • 武汉理工大学华夏学院 课程设计报告书 课程名称: 数据结构与算法分析 题 目:用C 语言实现一元多项式的加减法运算 系 名: 信息工程系 专业班级: 物联网工程1122班 姓 名: 隋明超 学 号: [1**********] 指导教师: 司晓梅 2014年 1 月 3 日 武汉理工大学华夏学院信息 ...

  • 新浙教版七年级下册数学各章知识点
  • 新浙教版七年级下册数学各章知识点 第一章:平行线与相交线 一. 知识结构 ⎧⎧⎧同位角相等,两直线平行⎪⎪⎪直线平行的判定⎨内错角相等,两直线平行⎪⎪⎪同旁内角相等,两直线平行⎪⎪⎩⎪⎪⎪⎪⎧两直线平行,同位角相等⎪⎪⎪平行线直线平行的性质⎪⎨⎨两直线平行,内错角相等平行线与相交线⎨⎪⎪两直线平行, ...

  • 初中语文知识结构图
  • 初中语文知识结构图 3.汉字 1.字音 2.字形 4.含义 5.色彩 9.词语 6.近义词辨析 7.熟语 8.关联词语 12.标点符号 10.点号 11.误用辨析 27.基础知识 15.修辞 13.常见修辞格 14.辞格辨 16.词类 20.语法 17.短语 47 18.复句 初 19.辨析修改病句 ...

  • 初中数学代数知识点总结
  • 初中数学代数知识点总结 一.基本知识 (一).数与代数A .数与式: 1.实数 有理数:①整数→正整数/0/负整数 ②分数→正分数/负分数 数轴:①画一条水平直线,在直线上取一点表示0(原点),选取某一长度作为单位长度,规定直线上向右的方向为正方向,就得到数轴. ②任何一个有理数都可以用数轴上的一个 ...

  • 有理数的知识点
  • 一.基本知识 ㈠ .数与代数 A . 数与式: 1 . 有理数 有理数:①整数→正整数/0/负整数 ②分数→正分数/负分数 数轴:①画一条水平直线,在直线上取一点表示0(原点),选取某一长度作为单位长度,规定直线上向右的方向为正方向,就得到数轴.②任何一个有理数都可以用数轴上的一个点来表示.③如果两 ...

  • 初中中考数学内容大全(初版)
  • 七年级上册 第一章 有理数 学习要求: 1. 理解有理数的意义, 能用数轴上的点表示有理数, 会比较有理数的大小. 2. 借助数轴理解相反数和绝对值的意义, 会求有理数的相反数与约对值(绝对值符号内不含字母). 3. 理解乘方的意义, 掌握有理数的加.减.乘.除.乘方及简单的混合运算(以三步为主). ...

  • 20**年苏科版最新教材初中数学目录
  • 苏科版最新教材初中数学 2016年9月 目录 七年级上 第1章 数学与我们同行 1.1生活 数学 1.2活动 思考 第2章 有理数 2.1正数与负数 2.2有理数与无理数 2.3数轴 2.4绝对值与相反数 2.5有理数的加法与减法 2.6有理数的乘法与除法 2.7有理数的乘方 2.8有理数的混合运算 ...

  • 七年级下册-数学书-苏教版目录
  • 8- 第七章一元一次不等式 作业1 生活中的不等式不等式的解集 作业2 不等式的性质 作业3 解一元一次不等式(一) 作业4 解一元一次不等式(二) 作业5 用一元一次不等式解决问题 作业6 一元一次不等式组(一) 作业7 一元一次不等式组(二) 作业8 一元一次不等式与一元一次方程.一次函数 第七 ...

  • 青岛版初中数学教材(新目录)
  • 青岛版初中数学教材 总目录 七年级上册(最新) 第1章 基本的几何图形 1.1 我们身边的图形世界 1.2 几何图形 1.3 线段.射线和直线 1.4 线段的比较与作法 第2章 有理数 2.1 有理数 2.2 数轴 2.3 相反数与绝对值 第3章 有理数的运算 3.1 有理数的加法与减法 3.2 有 ...

© 2024 范文中心 | 联系我们 webmaster# onjobs.com.cn