abubaca

Untitled

Dec 19th, 2018
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <iomanip>
  4.  
  5. using namespace std;
  6.  
  7. long double fun(long double count, long double epsilon, long &interation)
  8. {
  9.     long i = 1;
  10.     long double result = 0;
  11.     while (true)
  12.     {
  13.         //long double temp = (pow(-1.0, i + 1) * pow(count, i - 1)) / pow(3.0, 1.0 / (i + 1));
  14.         long double temp = ((i % 2 ? 1 : -1) * pow(count, i - 1)) / pow(3.0, 1.0 / (i + 1));
  15.         i++;
  16.         //temp += (pow(-1.0, i + 1) * pow(count, i - 1)) / pow(3.0, 1.0 / (i + 1));
  17.         temp += ((i % 2 ? 1 : -1) * pow(count, i - 1)) / pow(3.0, 1.0 / (i + 1));
  18.         if (abs(temp) < abs(epsilon))
  19.             break;
  20.         else
  21.             result += temp;
  22.         i++;
  23.     }
  24.     interation = i / 2 - 1;
  25.     return result;
  26. }
  27.  
  28. void view_top(int wight)
  29. {
  30.     cout << setfill('-') << right;
  31.     wight++;
  32.     cout << "*" << setw(wight) << "*" << setw(wight) << "*" << setw(wight) << "*" << endl;
  33. }
  34.  
  35. void view_middle(int wight)
  36. {
  37.     cout << setfill('-') << right;
  38.     wight++;
  39.     cout << "*" << setw(wight) << "*" << setw(wight) << "*" << setw(wight) << "*" << endl;
  40. }
  41.  
  42. void view_bottom(int wight)
  43. {
  44.     cout << setfill('-') << right;
  45.     wight++;
  46.     cout << "*" << setw(wight) << "*" << setw(wight) << "*" << setw(wight) << "*" << endl;
  47. }
  48.  
  49. void view_field(int wight, const char field1[], const char field2[], const char field3[])
  50. {
  51.     cout << setfill(' ') << left;
  52.     cout << "|" << setw(wight) << field1 << "|" << setw(wight) << field2 << "|" << setw(wight) << field3 << "|" << endl;
  53. }
  54.  
  55. void view_field(int wight, long double field1, long double field2, long double field3)
  56. {
  57.     cout << fixed << setfill(' ') << left;
  58.     cout << "|" << setw(wight) << field1 << "|" << setw(wight) << field2 << "|" << setw(wight) << field3 << "|" << endl;
  59. }
  60.  
  61. int main()
  62. {
  63.     setlocale(LC_ALL, "Russian");
  64.     const int str_wight = 16;
  65.     long double StartBoard, FinishBoard, Step, Epsilon;
  66.     cout << "Введите начало промежутка: ";
  67.     cin >> StartBoard;
  68.     cout << "Введите конец промежутка: ";
  69.     cin >> FinishBoard;
  70.     cout << "Введите шаг: ";
  71.     cin >> Step;
  72.     cout << "Введите Эпсилон: ";
  73.     cin >> Epsilon;
  74.     view_top(str_wight);
  75.     view_field(str_wight,"Значение","Глубина итерации","Результат");
  76.     view_middle(str_wight);
  77.     for (long double count = StartBoard; count <= FinishBoard; count += Step)
  78.     {
  79.         long itr;
  80.         long double temp = fun(count, Epsilon, itr);
  81.         view_field(str_wight, count, itr, temp);
  82.         //view_middle(str_wight);
  83.     }
  84.     view_bottom(str_wight);
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment