Advertisement
vadim_sharaf

Untitled

Oct 15th, 2022
839
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.65 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cmath>
  4. #include <iomanip>
  5. using namespace std;
  6. int fact(float n) {
  7.     return (n == 0.0) ? 1.0 : n * fact(n - 1.0);
  8. }
  9. int main() {
  10.     setlocale(LC_ALL, "ru");
  11.     float x, e, a, s;
  12.     unsigned i=0 ;
  13.     fstream f;
  14.     cout << "Автор: Шарафутдинов Вадим Ильдарович" << setw(30) << "Группа: 2309" << "\n" << "Версия: 1.1.1 " << setw(30) << "Дата начала : 12.12.22" << setw(30) << "Дата окончания : нет" << endl;
  15.     cout << "Введите число x, на которое будет производиться умножение каждого слагаемого суммы: ";
  16.     cin >> x;
  17.    
  18.     e = 1e-5;
  19.     cout << "Введите значение e, до которого будет производиться сумма (e > 0 и e < 1e-10): " ;
  20.     f.open("out.txt", fstream::out);
  21.     while ((e <= 0 || e > 1e-10) && (i < 3)) {
  22.         if (i != 0) {
  23.             cout << "Были допущены ошибки, введите значение заново" << endl;
  24.         }
  25.         cin >> e;
  26.         i++;
  27.     }
  28.     if (i == 3) {
  29.         cout << "Error! Прочитатйте внимательней условие ввода и попробуйте в следующий раз.";
  30.     }
  31.     else {
  32.         i = 2;
  33.         a = 1.0 / ((3.0 + 1.0) * (2.0 * 1.0));
  34.         s = 0;
  35.         f << "Число x,введенное пользователем, на которое будет производиться умножение каждого слагаемого суммы: " << x << endl;
  36.         f << "Значение,введенное пользователем, до которого будет производиться сумма: " << e << endl;
  37.         if (abs((i + 1) * (i + 1) * (pow(3, i) + 1) * x / ((3.0 * pow(3, i) + 1) * (2.0 * i + 1) * (2.0 * i + 2)) * x) < e) {
  38.             cout << "Первый и последующие элементы последовательности ниже e окрестности" << endl;
  39.             f << "Первый и последующие элементы последовательности ниже e окрестности";
  40.         }
  41.         else {
  42.             cout << setw(12) << "Таблица: " << endl;
  43.             f << "Таблица: " << endl;
  44.             cout << setw(37) << "_________________________________" << endl;
  45.             f << setw(37) << "_________________________________" << endl;
  46.             cout << setw(5) << "|" << setw(3) << "i" << "|" << setw(8) << "ai" << setw(6) << "|" << setw(8) << "si" << setw(6) << "|" << "\n";
  47.             f << setw(5) << "|" << setw(3) << "i" << "|" << setw(8) << "ai" << setw(6) << "|" << setw(8) << "si" << setw(6) << "|" << "\n";
  48.             a = (4.0 / ((9.0 + 1.0) * (24.0))) * x*x;
  49.             s += a;
  50.             cout << noshowpos << setw(5) << '|' << setw(3) << i << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
  51.             f << noshowpos << setw(5) << '|' << setw(3) << i << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
  52.             while ((fabs(a) > e) && (i < 1000)) {
  53.                 a = (i + 1.0) * (i + 1.0) * (pow(3.0, i) + 1) / ((3.0 * pow(3.0, i) + 1.0) * (2.0 * i + 1.0) * (2.0 * i + 2.0)) * a * x;
  54.                 s += a;
  55.                 cout << noshowpos << setw(5) <<'|' << setw(3) << i+1 << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
  56.                 f << noshowpos << setw(5) << '|' << setw(3) << i+1 << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
  57.                 i++;
  58.             }
  59.  
  60.             cout << setw(21) << "Количество шагов: " << i - 1;
  61.             f << setw(21) << "Количество шагов: " << i - 1;
  62.             cout << setw(21) << "Ответ: " << i;
  63.             f << setw(21) << "Ответ: " << i;
  64.         }
  65.     }
  66.     f.close();
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement