fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. // Funkcja f(x) = sin(x)
  7. double f(double x)
  8. {
  9. return sin(x);
  10. }
  11.  
  12. // Metoda trapezów
  13. double trapezy(double a, double b, int n)
  14. {
  15. double h = (b - a) / n;
  16. double suma = (f(a) + f(b)) / 2.0;
  17.  
  18. for (int i = 1; i < n; i++)
  19. {
  20. suma += f(a + i * h);
  21. }
  22.  
  23. return suma * h;
  24. }
  25.  
  26. int main()
  27. {
  28. double a1 = 0.0;
  29. double b1 = 1.57;
  30. int n1 = 10;
  31.  
  32. double a2 = 0.0;
  33. double b2 = 1.57;
  34. int n2 = 100;
  35.  
  36. double s1 = trapezy(a1, b1, n1);
  37. double s2 = trapezy(a2, b2, n2);
  38.  
  39. cout << "Metoda trapezow dla f(x) = sin(x)\n";
  40. cout << "Przedzial [0, 1.57]\n\n";
  41.  
  42. cout << "n1 = " << n1 << " => s1 = " << s1 << endl;
  43. cout << "n2 = " << n2 << " => s2 = " << s2 << endl;
  44.  
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0.01s 5316KB
stdin
Standard input is empty
stdout
Metoda trapezow dla f(x) = sin(x)
Przedzial [0, 1.57]

n1 = 10  =>  s1 = 0.99715
n2 = 100  =>  s2 = 0.999183