一元多项式操作
来源:互联网 发布:网络直播电视机顶盒 编辑:程序博客网 时间:2024/04/29 10:54
主要代码:
//合并一元多项式中相同的幂的项void UnionList(LinkList &L){int ex1,ex2;float co0,co1,co2;LinkList p = L;for(int i = 1; i < ListLength(L); i++){GetElem(L, i, co1, ex1);if(co1 == 0)ListDelete(L, i, co1, ex1);for (int j = i+1; j < ListLength(L)+1; j++){GetElem(L, j, co2, ex2);if(co2 == 0)ListDelete(L, j, co2, ex2); else if(ex2 == ex1){co0 = co1 + co2; //解决在同一一元多项式中有相同系数的情况ListDelete(L, j, co2, ex2);ListDelete(L, i, co1, ex1);ListInsert(L, i, co0, ex1);} }}}
//取表L中的第i个元素,并用返回. 操作成功返回OK,失败时返回ERROR Status GetElem(LinkList L, int i, float &co, int &ex){ if(i > ListLength(L) || i <= 0) return ERROR;int j = 0;LinkList p = L;while(p&&j < i){p = p->next;j++;}if(p && j == i){co = p->coef;ex = p->expn;return ex;}elsereturn ERROR; //-------------------------------------}
//创建一元多项式P,当输入的指数和系数都为0时,输入结束。// 一元多项式就被创建 。 void CreatPolyn(polynomial &P){InitList(P);printf(" \n输入系数和指数:\n");read(P->coef,P->expn); //输入系数和指数//-------------------TODO------------------//while(P->coef!=0||P->expn!=0){ListInsert(P, 1, P->coef, P->expn);printf(" \n输入系数和指数:\n"); read(P->coef,P->expn); }//------------初始化表达式,不断输入系数和指数,直到读到0,0为止----------//}
//完成多项式相加运算,即:Pa = Pa + Pb,并销毁一元多项式Pbvoid AddPolyn(polynomial &Pa,polynomial &Pb){UnionList(Pa); //合并一元多项式中具有UnionList(Pb); //相同指数的项for (int i=1; i<=ListLength(Pb); i++){float co;int ex;GetElem(Pb, i, co, ex);if(LocateElem(Pa, ex) > 0) //判断Pa中是否具有Pb中相同指数的项,{ //如果有,进行相加 int j = LocateElem(Pa, ex); //记录Pa中相同项的位置int k = 0;polynomial s = Pa;while(k < j) //查找这一位置{s=s->next;k++;}s->coef += co; //系数项相加}else //不存在相同的指数,将Pb中的该项插入PaListInsert(Pa, 1, co, ex);}DestroyList(Pb);//销毁Pb}
//完成多项式的求导函数,即:Pa = Pa' void Derivative(polynomial &P){polynomial s = P->next;while(s){s->coef=s->coef*s->expn;s->expn=s->expn-1;s=s->next;}}//完成多项式的积分函数, Pa = ∫Pa' dx void Calculus (polynomial &P){ polynomial s = P->next;while(s){s->expn=s->expn+1;s->coef=s->coef/s->expn;s=s->next;}}
运行结果图:
完整代码:
点击打开链接
阅读全文
0 0
- 一元多项式操作
- 数据结构-一元多项式操作
- 一元多项式表示相加操作
- 一元多项式的相关操作
- 一元多项式的基本操作
- 一元多项式的各种操作
- 一元多项式
- 一元多项式
- 一元多项式
- 一元多项式
- 一元稀疏多项式计算器
- 一元稀疏多项式
- 一元多项式加法
- 一元多项式的实现
- 一元多项式相加
- 一元多项式运算
- 数据结构 一元多项式相加
- 一元多项式的运算
- Java 三大主流框架,Struts、Hibernate、Spring
- SpringCloud 项目基础搭建与使用
- java实现快速排序
- mysql中时间戳转换成时间
- No resource found that matches the given name ‘android.TextAppearance.Materia...
- 一元多项式操作
- Python线程指南
- String、StringBuffer与StringBuilder之间区别
- python检测网络延迟
- C语言——单词倒置但不改变词序
- 修改spring boot默认的8080端口
- 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
- 用Java将doc文档转成pdf格式
- ScriptManager.RegisterStartupScript()的使用