fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. // Funkcja wczytuje stopień wielomianu i współczynniki
  7. vector<int> wczytajWielomian(int &stopien) {
  8. cout << "Podaj stopien wielomianu: ";
  9. cin >> stopien;
  10.  
  11. vector<int> wspolczynniki(stopien + 1); // od a0 do aN
  12.  
  13. for (int i = stopien; i >= 0; i--) {
  14. cout << "Podaj wspolczynnik a" << i << ": ";
  15. cin >> wspolczynniki[i];
  16. }
  17.  
  18. return wspolczynniki;
  19. }
  20.  
  21. // Funkcja oblicza wartość wielomianu metodą Hornera
  22. int obliczWartoscHornera(const vector<int> &wspolczynniki, int stopien, int x) {
  23. int wynik = wspolczynniki[stopien]; // zaczynamy od najwyższego współczynnika
  24.  
  25. for (int i = stopien - 1; i >= 0; i--) {
  26. wynik = wynik * x + wspolczynniki[i];
  27. }
  28.  
  29. return wynik;
  30. }
  31.  
  32. int main() {
  33. int stopien;
  34. vector<int> wspolczynniki = wczytajWielomian(stopien);
  35.  
  36. int x;
  37. cout << "Podaj wartosc x: ";
  38. cin >> x;
  39.  
  40. int wartosc = obliczWartoscHornera(wspolczynniki, stopien, x);
  41.  
  42. // Wyświetlenie wyniku w podanym formacie
  43. cout << "stopien wielomianu : " << stopien << " | ";
  44. for (int i = stopien; i >= 0; i--) {
  45. cout << "a" << i << "=" << wspolczynniki[i] << " | ";
  46. }
  47. cout << "x=" << x << " | W(" << x << ")=" << wartosc << endl;
  48.  
  49. return 0;
  50. }
  51.  
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Podaj stopien wielomianu: Podaj wspolczynnik a2: Podaj wspolczynnik a1: Podaj wspolczynnik a0: Podaj wartosc x: stopien wielomianu : 2 | a2=0 | a1=0 | a0=0 | x=0 | W(0)=0