Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. class Polynomial
  8. {
  9. private:
  10.  
  11. vector <double> wspol;
  12.  
  13. public:
  14.  
  15. //Konstruktory
  16.  
  17. Polynomial(){};
  18.  
  19. Polynomial(double *tab, int size)
  20. {
  21. for(int i=0; i <size; ++i)
  22. wspol.push_back(*(tab+i));
  23. }
  24.  
  25. //Stopien wielomianu
  26. int check_degree()
  27. {
  28. return wspol.size()-1;
  29. }
  30.  
  31. //Dodatkowe zera na poczatku wielomianu
  32. void add_zero(int num)
  33. {
  34. for(int i=0;i<num;i++)
  35. {
  36. this->wspol.insert(this->wspol.begin(),0);
  37.  
  38. }
  39.  
  40. }
  41.  
  42. //Wypisanie
  43. void print()
  44. {
  45. for (int i=0;i<this->wspol.size();i++)
  46. cout<<this->wspol[i]<<" ";
  47. }
  48.  
  49.  
  50. //Wyliczanie x
  51. double calculate(double x)
  52. {
  53. double suma;
  54.  
  55. for(double i=0;i<this->wspol.size(); i++)
  56. {
  57. suma+=(this->wspol[i]*pow(x,this->wspol.size()-1-i));
  58.  
  59. }
  60.  
  61. return suma;
  62. }
  63.  
  64.  
  65. //Operator dodawania
  66. friend Polynomial operator+(Polynomial w1, Polynomial w2)
  67. {
  68. Polynomial tmp;
  69. if (w1.check_degree() == w2.check_degree())
  70. {
  71. for (int i = 0; i < w1.wspol.size(); i++)
  72. tmp.wspol.push_back(w1.wspol[i] + w2.wspol[i]);
  73. }
  74. else if(w1.check_degree() > w2.check_degree())
  75. {
  76. int num=abs(w1.check_degree()-w2.check_degree());
  77. w2.add_zero(num);
  78. for (int i = 0; i < w1.wspol.size(); i++)
  79. tmp.wspol.push_back(w1.wspol[i] + w2.wspol[i]);
  80. }
  81. else
  82. {
  83. int num=abs(w1.check_degree()-w2.check_degree());
  84. w1.add_zero(num);
  85. for (int i = 0; i < w1.wspol.size(); i++)
  86. tmp.wspol.push_back(w1.wspol[i] + w2.wspol[i]);
  87. }
  88.  
  89. return tmp;
  90. }
  91.  
  92.  
  93. friend Polynomial operator*(Polynomial w1, Polynomial w2)
  94. {
  95. Polynomial tmp;
  96.  
  97.  
  98.  
  99.  
  100.  
  101. }
  102.  
  103.  
  104.  
  105. };
  106.  
  107.  
  108.  
  109. int main()
  110. {
  111.  
  112. double tab1[]={3,0,2,6,1};
  113. double tab2[]={6,3,2,2};
  114. int length1= sizeof(tab1)/sizeof(double);
  115. int length2= sizeof(tab2)/sizeof(double);
  116. Polynomial p1(tab1,length1),p2(tab2,length2),p3;
  117.  
  118.  
  119. //p3=p1+p2;
  120. //p3.print();
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128. return 0;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement