Guest User

Untitled

a guest
Apr 22nd, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void Sim(int inp)
  5. {
  6. float s2, eps, n;
  7. n = inp;
  8. s2 = 0;
  9. eps = 0.0001;
  10. int mark = 1, k = 0;
  11. float s1, x, b, a;
  12. b = 8.0;
  13. a = 1.0;
  14. do
  15. {
  16. s1 = s2;
  17. s2 = 0;
  18. for (int i = 2; i < n - 1; i++)
  19. {
  20. x = i*(b - a) / n;
  21. if (mark == 1)
  22. {
  23. mark = 0;
  24. s2 += 4 * (x + x);
  25. }
  26. else
  27. {
  28. mark = 1;
  29. s2 += 2 * (x + x);
  30. }
  31. k++;
  32. }
  33. s2 += a + a + b + b;
  34. s2 *= b / (3 * n);
  35. n *= 2;
  36. } while (abs(s2 - s1) > eps);
  37. cout << "Симпсон: " << s2 << endl;
  38. cout << "Колиество итераций: " << k << endl;
  39. }
  40.  
  41. void Rect(int inp)
  42. {
  43. int k = 0;
  44. float s1, s2, eps, b, a, h, x, n;
  45. n = inp;
  46. s2 = 0;
  47. s1 = s2;
  48. eps = 0.0001;
  49. b = 8.0;
  50. a = 1.0;
  51. do {
  52. h = (b - a) / n;
  53. for (int i = 1; i < n; i++)
  54. {
  55. x = a + h*i - h / 2.0;
  56. s2 += x + x;
  57. k++;
  58. }
  59. s2 *= h;
  60. n *= 2;
  61. cout << "s2: " << s2 << " s1: " << s1 << " abs(s2 - s1): " << abs(s2 - s1) << " eps: " << eps << endl;
  62. } while (abs(s2 - s1) > eps);
  63. cout << "Метод треугольников: " << s2 << endl;
  64. cout << "Колиество итераций: " << k << endl;
  65. }
  66.  
  67. int main()
  68. {
  69. int n;
  70. setlocale(LC_ALL, "RUS");
  71. cin >> n;
  72. Sim(n);
  73. Rect(n);
  74. system("pause");
  75. return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment