Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<math.h>
- double(*func)(double, double, int);
- double integral_pr(double x, double y, int dx);
- double integral_sim(double x, double y, int dx);
- double integral_tr(double x, double y, int dx);
- void main(void)
- {
- double spr, str, ssim, x, y, n;
- int dx, c;
- scanf_s("%lf%lf%d", &x, &y, &dx);
- scanf_s("%d", &c);
- switch (c)
- {
- case 1:
- {
- func = &integral_pr;
- break;
- }
- case 2:
- {
- func = &integral_sim;
- break;
- }
- case 3:
- {
- func = &integral_tr;
- break;
- }
- default: {printf("Error"); }
- }
- spr = func(x, y, dx);
- printf("Result:\n s=%lf", spr);
- getchar();
- getchar();
- }
- double integral_pr(double x, double y, int dx)
- {
- double s, x1, b;
- s = 0;
- b = (y - x) / dx;
- for (x1 = x; x1 < y; x1 = b + x1)
- s += x1*x1 * 2 + 1;
- return s*b;
- }
- double integral_tr(double x, double y, int dx)
- {
- double s, x1, b;
- s = 0;
- b = (y - x) / dx;
- for (x1 = x; x1 < y; x1 = b + x1)
- s += (x1*x1 * 2 + 1) + ((x1 + b)*(x1 + b) * 2 + 1);
- return s*b / 2;
- }
- double integral_sim(double x, double y, int dx)
- {
- double s, x1, b;
- s = 0;
- b = (y - x) / dx;
- for (x1 = x; x1 < y; x1 = b + x1)
- s += x1*x1 * 2 + 1 + 4 * ((x1 + b / 2)*(x1 + b / 2) * 2 + 1) + ((x1 + b)*(x1 + b) * 2 + 1);
- return s*b / 6;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement