fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. // Definicja funkcji
  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 a = 0.0;
  29. double b = 3.14;
  30.  
  31. int n1 = 10;
  32. int n2 = 100;
  33.  
  34. double s1 = trapezy(a, b, n1);
  35. double s2 = trapezy(a, b, n2);
  36.  
  37. cout << "Metoda trapezów dla f(x) = sin(x)\n";
  38. cout << "Przedzial [" << a << ", " << b << "]\n\n";
  39.  
  40. cout << "n = " << n1 << " => s1 = " << s1 << endl;
  41. cout << "n = " << n2 << " => s2 = " << s2 << endl;
  42.  
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
Metoda trapezów dla f(x) = sin(x)
Przedzial [0, 3.14]

n = 10  =>  s1 = 1.98354
n = 100  =>  s2 = 1.99983