Paste Search Dynamic
Recent pastes
poly1
  1. include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct node
  5. {
  6.     int coeff;
  7.     int exp;
  8.     struct node *next;
  9. }*ptr1=null,*ptr2=null,*ptr=null;
  10.  
  11. void add(struct node *ptr1,struct node *ptr2)
  12. {
  13.     struct node *poly1;struct node *poly2;struct node *poly=null;
  14.     poly1=ptr1;poly2=ptr2;
  15.     poly=new node;
  16.     ptr=poly;
  17.     while(poly1->next && poly2->next)
  18.     {
  19.         if(poly1->exp > poly2->exp)
  20.         {
  21.             poly->coeff=poly1->coeff;
  22.             poly->exp=poly1->exp;
  23.             poly1=poly1->next;
  24.         }
  25.         else if(poly2->exp > poly1->exp)
  26.         {
  27.             poly->coeff=poly2->coeff;
  28.             poly->exp=poly2->exp;
  29.             poly2=poly2->next;
  30.         }
  31.         else
  32.         {
  33.             poly->coeff=poly1->coeff + poly2->coeff;
  34.             poly->exp=poly1->exp;
  35.             poly1=poly1->next;
  36.             poly2=poly2->next;
  37.         }
  38.         poly=poly->next;poly=new node;
  39.  
  40.     }
  41.     struct node *polyr;
  42.     if(poly1->next)polyr=poly1;
  43.     if(poly2->next)polyr=poly2;
  44.     while(polyr->next)
  45.     {
  46.         poly->coeff=polyr->coeff;
  47.         poly->exp=polyr->exp;
  48.  
  49.         poly=poly->next;
  50.         poly=new node;
  51.         polyr=polyr->next;
  52.     }
  53.     poly->next=null;
  54.  
  55.     while(ptr!=null)
  56.     {
  57.         if(ptr->exp==1)cout<<ptr->coeff<<"X";
  58.         if(ptr->exp==0)cout<<"+"<<ptr->coeff;
  59.         cout<<ptr->coeff<<"X^"<<ptr->exp<<"+";
  60.  
  61.         ptr=ptr->next;
  62.     }
  63. }
  64.  
  65.  
  66.  
  67. int main()
  68. {
  69.    int n;
  70.     cin>>n;
  71.     struct node *first1;
  72.     struct node *last1;
  73.      struct node *t;
  74.     int a,b;
  75.     cin>>a>>b;
  76.     first1=new node;
  77.  
  78.     first1->coeff=a;
  79.     first1->exp=b;
  80.     last1=first1;
  81.  
  82.     while(n--)
  83.     {
  84.         int x,y;
  85.         cin>>x>>y;
  86.  
  87.         t=new node;
  88.         t->coeff=x;
  89.         t->exp=y;
  90.         t->next=null;
  91.         last1->next=t;
  92.         last1=t;
  93.  
  94.     }
  95.     int s;
  96.     cin>>s;
  97.     struct node *first2;
  98.     struct node *last2;
  99.      struct node *p;
  100.     int a2,b2;
  101.     cin>>a2>>b2;
  102.     first2=new node;
  103.     first2->coeff=a2;
  104.     first2->exp=b2;
  105.     last2=first2;
  106.  
  107.     while(s--)
  108.     {
  109.         int x,y;
  110.         cin>>x>>y;
  111.  
  112.         p=new node;
  113.         p->coeff=x;
  114.         p->exp=y;
  115.         p->next=null;
  116.         last2->next=p;
  117.         last2=p;
  118.         p=null;
  119.     }
  120.     add(first1,first2);
  121.     return 0;
  122.  
  123. }
  124.  
Parsed in 0.018 seconds