C++链表应用:多项式相加

本文介绍了一个使用C++实现的多项式加法程序。该程序通过定义多项式节点类和多项式操作类来读取两个多项式的系数和次数,并进行相加运算。最终输出两个多项式相加的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
using namespace std;
class poly
{
public:
int coeff;
int pow;
poly*next;
};


class add2poly
{
private:
poly *poly1,*poly2,*poly3;
public:
add2poly();
void addpoly();
void display();
};
add2poly::add2poly()
{
poly1=poly2=poly3=NULL;
};


void add2poly :: addpoly(){
      int i,p;
      poly *newl=NULL,*end=NULL;
      cout<<"Enter highest power for x\n";
      cin>>p;
    //Read first poly
      cout<<"\nFirst Polynomial\n";
      for(i=p;i>=0;i--)
      {
      newl=new poly;
      newl->pow=p;
      cout<<"Enter Co-efficient for degree"<<i<<"::  ";
      cin>>newl->coeff;
      newl->next=NULL;
      if(poly1==NULL)
         poly1=newl;
      else
         end->next=newl;
      end=newl;
      }


    //Read Second poly
      cout<<"\n\nSecond Polynomial\n";
      end=NULL;
      for(i=p;i>=0;i--)
      {
      newl=new poly;
      newl->pow=p;
      cout<<"Enter Co-efficient for degree"<<i<<"::  ";
      cin>>newl->coeff;
      newl->next=NULL;
      if(poly2==NULL)
         poly2=newl;
      else
         end->next=newl;
      end=newl;
      }


      poly *p1=poly1,*p2=poly2;
      end=NULL;
      while(p1 !=NULL && p2!=NULL){
        if(p1->pow == p2->pow){
            newl=new poly;
            newl->pow=p--;
            newl->coeff=p1->coeff + p2->coeff;
            newl->next=NULL;
            if(poly3==NULL)
               poly3=newl;
            else
               end->next=newl;
            end=newl;
        }
        p1=p1->next;
        p2=p2->next;
      }
}


void add2poly :: display(){
   poly *t=poly3;
   cout<<"\n\nAnswer after addition is : ";
   while(t!=NULL){
      cout<<t->coeff;
      cout<<"X"<<t->pow;
      t=t->next;
   }
}




void main(){
    
    add2poly obj;
    obj.addpoly();
    obj.display();
   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值