Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. #include<iostream>
  2. #include<math.h>
  3. double(*func)(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, c;
  11. scanf_s("%lf%lf%d", &x, &y, &dx);
  12. scanf_s("%d", &c);
  13. switch (c)
  14. {
  15. case 1:
  16. {
  17. func = &integral_pr;
  18. break;
  19. }
  20. case 2:
  21. {
  22. func = &integral_sim;
  23.  
  24. break;
  25. }
  26.  
  27. case 3:
  28. {
  29. func = &integral_tr;
  30. break;
  31. }
  32.  
  33. default: {printf("Error"); }
  34. }
  35. spr = func(x, y, dx);
  36. printf("Result:\n s=%lf", spr);
  37. getchar();
  38. getchar();
  39. }
  40. double integral_pr(double x, double y, int dx)
  41. {
  42. double s, x1, b;
  43. s = 0;
  44. b = (y - x) / dx;
  45. for (x1 = x; x1 < y; x1 = b + x1)
  46. s += x1*x1 * 2 + 1;
  47. return s*b;
  48. }
  49. double integral_tr(double x, double y, int dx)
  50. {
  51. double s, x1, b;
  52. s = 0;
  53. b = (y - x) / dx;
  54. for (x1 = x; x1 < y; x1 = b + x1)
  55. s += (x1*x1 * 2 + 1) + ((x1 + b)*(x1 + b) * 2 + 1);
  56. return s*b / 2;
  57. }
  58. double integral_sim(double x, double y, int dx)
  59. {
  60. double s, x1, b;
  61. s = 0;
  62. b = (y - x) / dx;
  63. for (x1 = x; x1 < y; x1 = b + x1)
  64. s += x1*x1 * 2 + 1 + 4 * ((x1 + b / 2)*(x1 + b / 2) * 2 + 1) + ((x1 + b)*(x1 + b) * 2 + 1);
  65. return s*b / 6;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement