精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn) ,

    順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn) ,
    順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)
    二、\x05主要內(nèi)容
    設(shè)有一元多項(xiàng)式Am(x)和Bn(x).
    Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm
    Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn
    請(qǐng)實(shí)現(xiàn)求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x).實(shí)現(xiàn)多項(xiàng)式的加、減、乘.
    三、具體要求及應(yīng)提交的材料
    首先判定多項(xiàng)式是否稀疏
    分別采用順序和動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn);
    結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng);
    要求輸出結(jié)果的升冪和降冪兩種排列情況
    用C/C++語言編程實(shí)現(xiàn)上述內(nèi)容,對(duì)每個(gè)問題寫出一個(gè)算法實(shí)現(xiàn)
    說錯(cuò)了,只能c++哈,盡量詳細(xì)哈,多給注釋哈!
    其他人氣:621 ℃時(shí)間:2020-05-08 01:09:10
    優(yōu)質(zhì)解答
    #include
    using namespace std;
    struct term
    {
    \x09float xishu; //系數(shù)
    \x09int zhishu; //指數(shù)
    };
    struct LNode
    {
    \x09term data; //term多項(xiàng)式值
    \x09struct LNode *next;
    };
    typedef LNode* polynomail;
    /*合并同類項(xiàng)*/
    polynomail hebing(polynomail Head)
    {
    \x09polynomail r,q,p,Q;
    \x09for(q=Head->next;q!=NULL;q=q->next)//合并同類項(xiàng)
    \x09\x09\x09for(p=q->next,r=q;p!=NULL;)
    \x09\x09\x09\x09if(q->data.zhishu==p->data.zhishu)
    \x09\x09\x09\x09{
    \x09\x09\x09\x09\x09q->data.xishu=q->data.xishu+p->data.xishu;
    \x09\x09\x09\x09\x09r->next=p->next;
    \x09\x09\x09\x09\x09Q=p;p=p->next;
    \x09\x09\x09\x09\x09delete Q;
    \x09\x09\x09\x09}
    \x09\x09\x09\x09else
    \x09\x09\x09\x09{
    \x09\x09\x09\x09\x09r=r->next;
    \x09\x09\x09\x09\x09p=p->next;
    \x09\x09\x09\x09}
    \x09return Head;
    }
    /*又小到大排列*/
    void arrange1(polynomail pa)
    {
    \x09polynomail h=pa,p,q,r;
    \x09for(p=pa;p->next!=NULL;p=p->next);r=p;
    \x09while(h->next!=r)//大的沉底
    \x09{
    \x09\x09for(p=h;p->next!=r&&p!=r;p=p->next)
    \x09\x09\x09if(p->next->data.zhishu>p->next->next->data.zhishu)
    \x09\x09\x09{
    \x09\x09\x09\x09q=p->next->next;
    \x09\x09\x09\x09p->next->next=q->next;
    \x09\x09\x09\x09q->next=p->next;
    \x09\x09\x09\x09p->next=q;
    \x09\x09\x09}
    \x09\x09\x09r=p;//r指向參與比較的最后一個(gè),不斷向前移動(dòng)
    \x09}
    }
    /*由大到小排序*/
    void arrange2(polynomail pa)
    {
    \x09polynomail h=pa,p,q,r;
    \x09for(p=pa;p->next!=NULL;p=p->next); r=p;
    \x09while(h->next!=r)//小的沉底
    \x09{
    \x09\x09for(p=h;p->next!=r&&p!=r;p=p->next)
    \x09\x09\x09if(p->next->data.zhishunext->next->data.zhishu)
    \x09\x09\x09{
    \x09\x09\x09\x09q=p->next->next;
    \x09\x09\x09\x09p->next->next=q->next;
    \x09\x09\x09\x09q->next=p->next;
    \x09\x09\x09\x09p->next=q;
    \x09\x09\x09}
    \x09\x09\x09r=p;//r指向參與比較的最后一個(gè),不斷向前移動(dòng)
    \x09}
    }
    bool judge(polynomail Head)
    {
    \x09arrange2(Head);
    \x09polynomail p;
    \x09p=Head->next;
    \x09bool xi=false;
    \x09while(p!=NULL&&p->next!=NULL&&!xi)
    \x09{
    \x09\x09if(p->data.zhishu-p->next->data.zhishu>1)
    \x09\x09\x09xi=true;
    \x09\x09p=p->next;
    \x09}
    \x09return xi;
    }
    /*打印多項(xiàng)式,求項(xiàng)數(shù)*/
    void printpolyn(polynomail P)
    {
    \x09int i;
    \x09polynomail q;
    \x09if(P==NULL)
    \x09\x09coutdata.zhishu;
    \x09\x09r->next=s; r=s;
    \x09\x09p=p->next;
    \x09}
    \x09while(q)
    \x09{
    \x09\x09s=new LNode;
    \x09\x09s->data.xishu=q->data.xishu;
    \x09\x09s->data.zhishu=q->data.zhishu;
    \x09\x09r->next=s; r=s;
    \x09\x09q=q->next;
    \x09}
    \x09r->next=NULL;
    \x09if(newHead->next!=NULL&&newHead->next->next!=NULL)//合并同類項(xiàng)
    \x09\x09newHead=hebing(newHead);
    \x09coutnext;
    \x09newHead=new LNode;
    \x09r=newHead;
    \x09while(p)
    \x09{
    \x09\x09s=new LNode;
    \x09\x09s->data.xishu=p->data.xishu;
    \x09\x09s->data.zhishu=p->data.zhishu;
    \x09\x09r->next=s; r=s;
    \x09\x09p=p->next;
    \x09}
    \x09while(q)
    \x09{
    \x09\x09s=new LNode;
    \x09\x09s->data.xishu=-q->data.xishu;
    \x09\x09s->data.zhishu=q->data.zhishu;
    \x09\x09r->next=s; r=s;
    q=q->next;
    \x09}
    \x09r->next=NULL;
    if(newHead->next!=NULL&&newHead->next->next!=NULL)//合并同類項(xiàng)
    \x09\x09newHead=hebing(newHead);
    \x09coutnext)
    \x09\x09for(q=pb->next;q!=NULL;q=q->next)
    \x09\x09{
    \x09\x09\x09s=new LNode;
    \x09\x09\x09s->data.xishu=p->data.xishu*q->data.xishu;
    \x09\x09\x09s->data.zhishu=p->data.zhishu+q->data.zhishu;
    \x09\x09\x09r->next=s;
    \x09\x09\x09r=s;
    \x09\x09}
    \x09\x09r->next=NULL;
    \x09\x09coutnext->next!=NULL)//合并同類項(xiàng)
    \x09\x09\x09newHead=hebing(newHead);
    \x09\x09return newHead;
    }
    /*5、銷毀已建立的兩個(gè)多項(xiàng)式*/
    void delpolyn(polynomail pa,polynomail pb)
    {
    \x09polynomail p,q;
    \x09p=pa;
    \x09while(p!=NULL)
    \x09{
    \x09\x09q=p;
    \x09\x09p=p->next;
    \x09\x09free(q);
    \x09}
    \x09p=pb;
    \x09while(p!=NULL)
    \x09{
    \x09\x09q=p;
    \x09\x09p=p->next;
    \x09\x09free(q);
    \x09}
    \x09cout
    我來回答
    類似推薦
    請(qǐng)使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版