Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- class Polynomial
- {
- public:
- vector <double> wspol;
- public:
- Polynomial(){};
- Polynomial(double *tab, int size)
- {
- for(int i=0; i <size; ++i)
- wspol.push_back(*(tab+i));
- }
- int check_degree()
- {
- return wspol.size()-1;
- }
- void add_zero(int num)
- {
- for(int i=0;i<num;i++)
- {
- this->wspol.insert(this->wspol.begin(),0);
- }
- }
- void print()
- {
- for (int i=0;i<this->wspol.size();i++)
- cout<<this->wspol[i]<<" ";
- }
- void add(Polynomial w1, Polynomial w2 )
- {
- Polynomial w3;
- if (w1.check_degree() == w2.check_degree())
- {
- for (int i = 0; i < w1.wspol.size(); i++)
- w3.wspol.push_back(w1.wspol[i] + w2.wspol[i]);
- }
- else if(w1.check_degree() > w2.check_degree())
- {
- int num=abs(w1.check_degree()-w2.check_degree());
- w2.add_zero(num);
- for (int i = 0; i < w1.wspol.size(); i++)
- w3.wspol.push_back(w1.wspol[i] + w2.wspol[i]);
- }
- else
- {
- int num=abs(w1.check_degree()-w2.check_degree());
- w1.add_zero(num);
- for (int i = 0; i < w1.wspol.size(); i++)
- w3.wspol.push_back(w1.wspol[i] + w2.wspol[i]);
- }
- }
- };
- int main()
- {
- double tab1[]={7,3,0,1,0,1};
- double tab2[]={6,0,3,2,4,2};
- vector<double>vec1;
- int length1= sizeof(tab1)/sizeof(double);
- int length2= sizeof(tab1)/sizeof(double);
- Polynomial p1(tab1,length1),p2(tab2,length2),p3;
- p3.add(p1,p2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement