fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. // Definicja funkcji
  7. double f(double x) {
  8. return x*x - 2; // przykład: x^2 - 2
  9. }
  10.  
  11. int main() {
  12. double a, b, c, eps;
  13.  
  14. cout << "Podaj poczatek przedzialu a: ";
  15. cin >> a;
  16. cout << "Podaj koniec przedzialu b: ";
  17. cin >> b;
  18. cout << "Podaj dokladnosc eps: ";
  19. cin >> eps;
  20.  
  21. if (f(a) * f(b) >= 0) {
  22. cout << "Funkcja nie zmienia znaku w tym przedziale." << endl;
  23. return 0;
  24. }
  25.  
  26. while (fabs(b - a) > eps) {
  27. c = (a + b) / 2.0;
  28.  
  29. if (f(c) == 0.0)
  30. break;
  31. else if (f(a) * f(c) < 0)
  32. b = c;
  33. else
  34. a = c;
  35. }
  36.  
  37. cout << "Przyblizone miejsce zerowe: " << c << endl;
  38.  
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0.01s 5300KB
stdin
Standard input is empty
stdout
Podaj poczatek przedzialu a: Podaj koniec przedzialu b: Podaj dokladnosc eps: Funkcja nie zmienia znaku w tym przedziale.