Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void Sim(int inp)
- {
- float s2, eps, n;
- n = inp;
- s2 = 0;
- eps = 0.0001;
- int mark = 1, k = 0;
- float s1, x, b, a;
- b = 8.0;
- a = 1.0;
- do
- {
- s1 = s2;
- s2 = 0;
- for (int i = 2; i < n - 1; i++)
- {
- x = i*(b - a) / n;
- if (mark == 1)
- {
- mark = 0;
- s2 += 4 * (x + x);
- }
- else
- {
- mark = 1;
- s2 += 2 * (x + x);
- }
- k++;
- }
- s2 += a + a + b + b;
- s2 *= b / (3 * n);
- n *= 2;
- } while (abs(s2 - s1) > eps);
- cout << "Симпсон: " << s2 << endl;
- cout << "Колиество итераций: " << k << endl;
- }
- void Rect(int inp)
- {
- int k = 0;
- float s1, s2, eps, b, a, h, x, n;
- n = inp;
- s2 = 0;
- s1 = s2;
- eps = 0.0001;
- b = 8.0;
- a = 1.0;
- do {
- h = (b - a) / n;
- for (int i = 1; i < n; i++)
- {
- x = a + h*i - h / 2.0;
- s2 += x + x;
- k++;
- }
- s2 *= h;
- n *= 2;
- cout << "s2: " << s2 << " s1: " << s1 << " abs(s2 - s1): " << abs(s2 - s1) << " eps: " << eps << endl;
- } while (abs(s2 - s1) > eps);
- cout << "Метод треугольников: " << s2 << endl;
- cout << "Колиество итераций: " << k << endl;
- }
- int main()
- {
- int n;
- setlocale(LC_ALL, "RUS");
- cin >> n;
- Sim(n);
- Rect(n);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment