Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. MAIN.cpp------------------------------------------------------------
  2.  
  3. #include <iostream>
  4. #include <iomanip>
  5. #include "headers.h"
  6.  
  7. using namespace std;
  8.  
  9. int main(int argc, char** argv)
  10. {
  11. double wsp[] = {-2, 1, 3, 1};
  12.  
  13. Wielomian p(3, wsp);
  14. p.show();
  15.  
  16. cout << " x p(x)" << endl;
  17. cout << "---------------" << endl;
  18. for(double x = -2.0; x<=2.0; x+=0.5) {
  19. cout << setw(6) << setprecision(1) << x;
  20. cout << setw(10) << setprecision(3) << p(x) << endl;
  21. }
  22.  
  23. p.horner(double 2); // czemu to nie dziala!
  24.  
  25. return 0;
  26. }
  27.  
  28. // Trzeba zrobic:
  29. // odejmowanie wielomianu
  30. // mnozenie
  31. // dzielenie
  32. // potrzebujemy funkci ktora zwraca stopien wielomianu
  33. // robimy to na kopiach
  34.  
  35.  
  36. HEADERS.h -------------------------------------------------------------------------------
  37.  
  38.  
  39. #include<iostream>
  40.  
  41. using namespace std;
  42.  
  43. class Wielomian {
  44.  
  45. private:
  46.  
  47. int n;
  48. double *a;
  49.  
  50. public:
  51.  
  52. Wielomian();
  53. //Wielomian(int n);
  54. Wielomian(int n, double *a);
  55. //Wielomian(Wielomian& p);
  56. ~Wielomian();
  57.  
  58. double horner(double x);
  59. void show();
  60. double operator()(double x);
  61.  
  62. double dodawanie_wielomianow();
  63.  
  64. };
  65.  
  66.  
  67. HEADERS.cpp --------------------------------------------------------------------------------
  68.  
  69.  
  70. #include<iostream>
  71. #include "headers.h"
  72.  
  73. using namespace std;
  74.  
  75. /* Wielomian:Wielomian() {
  76. n = 0;
  77. n = new double[i];
  78.  
  79. } */
  80.  
  81. Wielomian::Wielomian(int n, double *a) {
  82. this -> n = n;
  83. this -> a = new double[n+1];
  84. for(int i = 0; i<=n; ++i) this -> a[i] = a[i];
  85. }
  86.  
  87. Wielomian::~Wielomian(){
  88. delete [] a;
  89. }
  90.  
  91. void Wielomian::show(){
  92. cout << "Wielomian stpnia" << n << endl;
  93. cout << "Wspolczynniki: ";
  94. for(int i = n; i > 0; --i) cout << a[i] << ", ";
  95. cout << a[0] << endl;
  96. }
  97.  
  98. double Wielomian::horner(double x){
  99. double res = a[n];
  100. int i = n;
  101. while(i>0) res = res*x + a[--i];
  102. return res;
  103. }
  104.  
  105. double Wielomian::operator()(double x) {
  106. return horner(x);
  107. }
  108.  
  109. /*int stopien_wielomianu(){
  110.  
  111. }
  112.  
  113. double dodawanie_wielomianow() {
  114. double tab1[n_max];
  115. double tab2[n_max];
  116. } */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement