fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. // Funkcja obliczająca wartość wielomianu schematem Hornera
  7. double horner(const vector<double>& a, int stopien, double x)
  8. {
  9. double wynik = a[0];
  10. for (int i = 1; i <= stopien; i++)
  11. {
  12. wynik = wynik * x + a[i];
  13. }
  14. return wynik;
  15. }
  16.  
  17. // Funkcja wczytująca stopień wielomianu i współczynniki
  18. void wczytajDane(int &stopien, vector<double> &a)
  19. {
  20. cout << "Podaj stopien wielomianu: ";
  21. cin >> stopien;
  22.  
  23. a.resize(stopien + 1); // a0..an
  24. cout << "Podaj wspolczynniki od a" << stopien << " do a0:" << endl;
  25. for (int i = 0; i <= stopien; i++)
  26. {
  27. cout << "a" << (stopien - i) << " = ";
  28. cin >> a[i];
  29. }
  30. }
  31.  
  32. int main()
  33. {
  34. int stopien;
  35. vector<double> a;
  36. double x = 3; // punkt, w którym liczymy wartość
  37.  
  38. wczytajDane(stopien, a);
  39. double wynik = horner(a, stopien, x);
  40.  
  41. // wypisanie wyników
  42. cout << "stopien wielomianu: " << stopien << endl;
  43. for (int i = 0; i <= stopien; i++)
  44. {
  45. cout << "a" << (stopien - i) << " = " << a[i] << endl;
  46. }
  47. cout << "x = " << x << endl;
  48. cout << "w(" << x << ") = " << wynik << endl;
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0s 5308KB
stdin
Standard input is empty
stdout
Podaj stopien wielomianu: Podaj wspolczynniki od a0 do a0:
a0 = stopien wielomianu: 0
a0 = 0
x = 3
w(3) = 0