Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<math.h>
- double(*func[3])(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, i;
- scanf_s("%lf%lf%d", &x, &y, &dx);
- func[0] = integral_pr;
- func[1] = integral_sim;
- func[2] = integral_tr;
- scanf_s("%d", &i);
- if (i == 1)
- spr = func[0](x, y, dx);
- else if (i == 2)
- spr = func[1](x, y, dx);
- else
- spr = func[2](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