Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
121
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. #include<math.h>
  3. double(*func[3])(double, double, int);
  4. double integral_pr(double x, double y, int dx);
  5. double integral_sim(double x, double y, int dx);
  6. double integral_tr(double x, double y, int dx);
  7. void main(void)
  8. {
  9. double spr, str, ssim, x, y, n;
  10. int dx, i;
  11. scanf_s("%lf%lf%d", &x, &y, &dx);
  12. func[0] = integral_pr;
  13. func[1] = integral_sim;
  14. func[2] = integral_tr;
  15. scanf_s("%d", &i);
  16. if (i == 1)
  17. spr = func[0](x, y, dx);
  18. else if (i == 2)
  19. spr = func[1](x, y, dx);
  20. else
  21. spr = func[2](x, y, dx);
  22. printf("Result:\n s=%lf", spr);
  23. getchar();
  24. getchar();
  25. }
  26. double integral_pr(double x, double y, int dx)
  27. {
  28. double s, x1, b;
  29. s = 0;
  30. b = (y - x) / dx;
  31. for (x1 = x; x1 < y; x1 = b + x1)
  32. s += x1*x1 * 2 + 1;
  33. return s*b;
  34. }
  35. double integral_tr(double x, double y, int dx)
  36. {
  37. double s, x1, b;
  38. s = 0;
  39. b = (y - x) / dx;
  40. for (x1 = x; x1 < y; x1 = b + x1)
  41. s += (x1*x1 * 2 + 1) + ((x1 + b)*(x1 + b) * 2 + 1);
  42. return s*b / 2;
  43. }
  44. double integral_sim(double x, double y, int dx)
  45. {
  46. double s, x1, b;
  47. s = 0;
  48. b = (y - x) / dx;
  49. for (x1 = x; x1 < y; x1 = b + x1)
  50. s += x1*x1 * 2 + 1 + 4 * ((x1 + b / 2)*(x1 + b / 2) * 2 + 1) + ((x1 + b)*(x1 + b) * 2 + 1);
  51. return s*b / 6;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement