Advertisement
Guest User

Untitled

a guest
Feb 17th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Integrate {
  6.  
  7. private:
  8. double(*F)(double*, int);
  9. int elCount;
  10.  
  11. public:
  12. Integrate(int elCount, double(*F)(double*, int))
  13. {
  14. this->F = F;
  15. this->elCount = elCount;
  16. }
  17.  
  18. double integrateFunction(pair<int, int> * limits)
  19. {
  20.  
  21. int n = 100;
  22.  
  23. double area = 0.0;
  24. double y = 0.0;
  25. double* steps = new double[elCount];
  26. double* arguments = new double[elCount];
  27.  
  28. for (int i = 0; i < elCount; i++)
  29. steps[i] = (limits[i].second - limits[i].first) / n;
  30.  
  31. for (int i = 0; i < n; i++)
  32. {
  33. for (int j = 0; j < elCount; j++)
  34. {
  35. arguments[j] = limits[j].first + (i + 0.5) * steps[j];
  36. }
  37. y = F(arguments, elCount);
  38. area += y * 1;
  39. }
  40.  
  41. delete[] steps;
  42. delete[] arguments;
  43.  
  44. return area;
  45. }
  46.  
  47. };
  48.  
  49. double integrateFunction(double A, double B, double(*F)(double))
  50. {
  51. int n = 100;
  52.  
  53. double step = (B - A) / n;
  54. double area = 0.0;
  55. double y = 0;
  56.  
  57. for (int i = 0; i < n; ++i)
  58. {
  59. y = F(A + (i + 0.5) * step);
  60. area += y * step;
  61. }
  62.  
  63. return area;
  64. }
  65.  
  66. double power(double value) {
  67. return value * value;
  68. }
  69.  
  70. int main()
  71. {
  72. double area = integrateFunction(0, 1, power);
  73.  
  74. cout << area << endl;
  75. getchar();
  76.  
  77. return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement