Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.23 KB | None | 0 0
  1. #include "pch.h"
  2.  
  3. #include <iostream>
  4.  
  5. #include <math.h>
  6.  
  7. using namespace std;
  8.  
  9. double functionu(double y, float u) {
  10.  
  11. double z, g;
  12.  
  13. if ((0<y)&&(y<15))
  14.  
  15. z = y;
  16.  
  17. else {
  18.  
  19.  
  20. z = 2;
  21.  
  22. }
  23.  
  24. g = pow((sqrt(z)-z),2);
  25.  
  26. u = u + g;
  27.  
  28. return u;
  29.  
  30. }
  31.  
  32. double functiony(double a, double b, int i) {
  33.  
  34. double y;
  35.  
  36. if (abs(a*b) <= 1)
  37.  
  38. y = 2*pow((a*b),i)+pow(i,2)-a / 2*(pow(a,2)+pow(b,2))+i;
  39.  
  40. else
  41.  
  42. y = 2*a*b+(pow((-1),i))*(a-i)/ 2 * (pow(a, 2) + pow(b, 2));
  43.  
  44. return y;
  45.  
  46. }
  47.  
  48. void ashipka(double n, double amax, double amin, double bmax, double bmin, double da, double db) {
  49.  
  50. if (n != round(n)) {
  51.  
  52. printf("***********************************************************************************************************************\n");
  53.  
  54. printf(" __________________________________________________________________________");
  55.  
  56. printf("\n\n Некорректно введены данные!!! \"n\" должно быть целым числом \n");
  57.  
  58. printf(" __________________________________________________________________________\n\n");
  59.  
  60. printf("***********************************************************************************************************************\n");
  61.  
  62. exit(0);
  63.  
  64. }
  65.  
  66. if (n < 1) {
  67.  
  68. printf("***********************************************************************************************************************\n");
  69.  
  70. printf(" __________________________________________________________________________");
  71.  
  72. printf("\n\n Некорректно введены данные!!! \"n\" должно быть больше \"1\" \n");
  73.  
  74. printf(" __________________________________________________________________________\n\n");
  75.  
  76. printf("***********************************************************************************************************************\n");
  77.  
  78. exit(0);
  79.  
  80. }
  81.  
  82. if (amax < amin) {
  83.  
  84. printf("***********************************************************************************************************************\n");
  85.  
  86. printf(" __________________________________________________________________________");
  87.  
  88. printf("\n\n Некорректно введены данные!!! \"amax\" должно быть больше \"amin\" \n");
  89.  
  90. printf(" __________________________________________________________________________\n\n");
  91.  
  92. printf("***********************************************************************************************************************\n");
  93.  
  94. exit(0);
  95.  
  96. }
  97.  
  98. if (bmax < bmin) {
  99.  
  100. printf("***********************************************************************************************************************\n");
  101.  
  102. printf(" __________________________________________________________________________");
  103.  
  104. printf("\n\n Некорректно введены данные!!! \"bmax\" должно быть больше \"bmin\" \n");
  105.  
  106. printf(" __________________________________________________________________________\n\n");
  107.  
  108. printf("***********************************************************************************************************************\n");
  109.  
  110. exit(0);
  111.  
  112. }
  113.  
  114. if (da <= 0) {
  115.  
  116. printf("***********************************************************************************************************************\n");
  117.  
  118. printf(" __________________________________________________________________________");
  119.  
  120. printf("\n\n Некорректно введены данные!!! \"da\" должно быть больше \"0\" \n");
  121.  
  122. printf(" __________________________________________________________________________\n\n");
  123.  
  124. printf("***********************************************************************************************************************\n");
  125.  
  126. exit(0);
  127.  
  128. }
  129.  
  130. if (db <= 0) {
  131.  
  132. printf("***********************************************************************************************************************\n");
  133.  
  134. printf(" __________________________________________________________________________");
  135.  
  136. printf("\n\n Некорректно введены данные!!! \"db\" должно быть больше \"0\" \n");
  137.  
  138. printf(" __________________________________________________________________________\n\n");
  139.  
  140. printf("***********************************************************************************************************************\n");
  141.  
  142. exit(0);
  143.  
  144. }
  145.  
  146. }
  147.  
  148. void data_calculation() {
  149.  
  150. double a, b, amin, amax, bmin, bmax, da, db, n;
  151.  
  152. printf(" Введите amax, amin, bmax, bmin, da, db, n\n");
  153.  
  154. printf(" amax=");
  155.  
  156. cin >> amax;
  157.  
  158. printf(" amin=");
  159.  
  160. cin >> amin;
  161.  
  162. printf(" bmax=");
  163.  
  164. cin >> bmax;
  165.  
  166. printf(" bmin=");
  167.  
  168. cin >> bmin;
  169.  
  170. printf(" da=");
  171.  
  172. cin >> da;
  173.  
  174. printf(" db=");
  175.  
  176. cin >> db;
  177.  
  178. printf(" n=");
  179.  
  180. cin >> n;
  181.  
  182. if (n != round(n) || n < 1 || (amax < amin) || (bmax < bmin) || da <= 0 || db <= 0) {
  183.  
  184. ashipka(n, amax, amin, bmax, bmin, da, db);
  185.  
  186. }
  187.  
  188. else {
  189.  
  190. double* y;
  191.  
  192. double u = 0;
  193.  
  194. y = new double[n + 1];
  195.  
  196. printf("***********************************************************************************************************************\n");
  197.  
  198. printf(" ______________________________________________________________");
  199.  
  200. for (float b = bmin; b <= bmax; b += db)
  201.  
  202. for (float a = amin; a <= amax; a += da)
  203.  
  204. {
  205.  
  206. u = 0;
  207.  
  208. for (int i = 1; i <= n; i++) {
  209.  
  210. y[i] = functiony(a, b, i);
  211.  
  212. u = functionu(y[i], u);
  213.  
  214. printf("\n | a=%8.2f | b=%8.2f | i=%2i | y[i]=%8.2f |", a, b, i, y[i]);
  215.  
  216. }
  217.  
  218. printf("u=%8.4f |\n", u);
  219.  
  220. printf(" |____________________________________________________________|");
  221.  
  222. }
  223.  
  224. printf("\n***********************************************************************************************************************\n");
  225.  
  226. delete[] y;
  227.  
  228. }
  229.  
  230. }
  231.  
  232. int main()
  233.  
  234. {
  235.  
  236. setlocale(LC_CTYPE, "rus");
  237.  
  238. data_calculation();
  239.  
  240. printf("Хотите продолжить вычисления, если да то напишите \"1\", если нет любую друуою цифру\n");
  241.  
  242. int x;
  243.  
  244. cin >> x;
  245.  
  246. while (x == 1) {
  247.  
  248. data_calculation();
  249.  
  250. printf("Хотите продолжить вычисления, если да то напишите \"1\", если нет любую друуою цифру\n");
  251.  
  252. cin >> x;
  253.  
  254. }
  255.  
  256. return 0;
  257.  
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement