daily pastebin goal
26%
SHARE
TWEET

Untitled

a guest Dec 10th, 2018 70 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <locale.h>
  4. #include <cmath>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     setlocale(LC_ALL, "Russian");
  10.     const double pi = 3.1415;
  11.     long double x0, xk, dx, g, max = -99999999999, min = 99999999999;
  12.     char tab = '\t';
  13.     bool R;
  14.     cout << "Данная программа выполняет табулирование с постоянным шагом по аргументу х:" << endl;
  15.     cout << "Функция:" << endl;
  16.     cout << "f(x)=|e+pi, если x<=0,8" << endl;
  17.     cout << " |x+5,96, если 0,8<x=>5,27" << endl;
  18.     cout << "|2*(x+5,96), если x>5,27" << endl;
  19.     cout << "Условия: 0<x<2*pi" << endl;
  20.     cout << "Шаг табулирования не менее 0.01" << endl;
  21.     cout << "Введите начальное значение аргумента x: ";
  22.     cin >> x0;
  23.     if (x0 <= 0)
  24.     {
  25.         R = false;
  26.         while (R != true)
  27.         {
  28.             cout << "Ошибка ввода, введите начальное значение аргумента согласно условию: ";
  29.             cin >> x0;
  30.             if (x0 > 0) R = true;
  31.         }
  32.     }
  33.     cout << "Введите конечное значение аргумента x: ";
  34.     cin >> xk;
  35.     if (xk > 2*pi)
  36.     {
  37.         R = false;
  38.         while (R != true)
  39.         {
  40.             cout << "Ошибка ввода, введите конечное значение аргумента согласно условию: ";
  41.             cin >> xk;
  42.             if (xk <= 2*pi) R = true;
  43.         }
  44.     }
  45.     cout << "Введите шаг табулирования: ";
  46.     cin >> dx;
  47.     if (dx < 0.01)
  48.     {
  49.         R = false;
  50.         while (R != true)
  51.         {
  52.             cout << "Ошибка ввода, введите шаг табулирования согласно условию: ";
  53.             cin >> dx;
  54.             if (dx>0.01) R = true;
  55.         }
  56.     }
  57.  
  58.     if (x0 > xk)
  59.     {
  60.         R = false;
  61.         while (R != true)
  62.         {
  63.             cout << "Ошибка ввода, введите начальное и конечное значения заново, начальное значение должно быть меньше конечного" << endl;
  64.             cout << "Попробуйте еще раз" << endl;
  65.             cout << "Начальное значение: ";
  66.             cin >> x0;
  67.             cout << "Конечное значение: ";
  68.             cin >> xk;
  69.             if (x0 <= xk) R = true;
  70.         }
  71.     }
  72.     cout << endl;
  73.  
  74.     cout << "Вывод табулирования:" << endl;
  75.     cout << "x=" << tab << "f(x)=" << endl;
  76.     cout << endl;
  77.  
  78.     while (x0 <= xk)
  79.     {
  80.         cout << x0 << tab;
  81.         if (x0 <= 0.8) g = (exp(double(1)) + pi);
  82.         else if ((x0 > 0.8) && (x0 <= 5.27)) g = (x0 + 5.96);
  83.         else g = 2 * (x0 + 5.96);
  84.         cout << g << endl;
  85.         if (max <= g) max = g;
  86.         if (min >= g) min = g;
  87.         x0 += dx;
  88.     }
  89.     cout << endl;
  90.     cout << "Максимальное значение функции: " << max << endl;
  91.     cout << "Минимальное значение функции: " << min << endl;
  92.     cout << endl;
  93.     system("pause");
  94.     return 0;
  95. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top