fork(1) download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. // Definicja funkcji
  7. double f(double x)
  8. {
  9. return x * x * x - x - 2; // przykładowa funkcja: f(x) = x^3 - x - 2
  10. }
  11.  
  12. int main()
  13. {
  14. double a, b, c;
  15. double eps = 0.000001; // dokładność
  16.  
  17. cout << "Podaj poczatek przedzialu a: ";
  18. cin >> a;
  19. cout << "Podaj koniec przedzialu b: ";
  20. cin >> b;
  21.  
  22. if (f(a) * f(b) >= 0)
  23. {
  24. cout << "Funkcja nie spelnia warunku metody bisekcji!" << endl;
  25. return 1;
  26. }
  27.  
  28. do
  29. {
  30. c = (a + b) / 2;
  31.  
  32. if (f(c) == 0.0)
  33. break;
  34. else if (f(a) * f(c) < 0)
  35. b = c;
  36. else
  37. a = c;
  38.  
  39. } while (fabs(b - a) >= eps);
  40.  
  41. cout << "Miejsce zerowe: " << c << endl;
  42.  
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0.01s 5320KB
stdin
1 10
stdout
Podaj poczatek przedzialu a: Podaj koniec przedzialu b: Miejsce zerowe: 1.52138