Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cmath>
- #include <iomanip>
- using namespace std;
- int fact(float n) {
- return (n == 0.0) ? 1.0 : n * fact(n - 1.0);
- }
- int main() {
- setlocale(LC_ALL, "ru");
- float x, e, a, s;
- unsigned i=0 ;
- fstream f;
- cout << "Автор: Шарафутдинов Вадим Ильдарович" << setw(30) << "Группа: 2309" << "\n" << "Версия: 1.1.1 " << setw(30) << "Дата начала : 12.12.22" << setw(30) << "Дата окончания : нет" << endl;
- cout << "Введите число x, на которое будет производиться умножение каждого слагаемого суммы: ";
- cin >> x;
- e = 1e-5;
- cout << "Введите значение e, до которого будет производиться сумма (e > 0 и e < 1e-10): " ;
- f.open("out.txt", fstream::out);
- while ((e <= 0 || e > 1e-10) && (i < 3)) {
- if (i != 0) {
- cout << "Были допущены ошибки, введите значение заново" << endl;
- }
- cin >> e;
- i++;
- }
- if (i == 3) {
- cout << "Error! Прочитатйте внимательней условие ввода и попробуйте в следующий раз.";
- }
- else {
- i = 2;
- a = 1.0 / ((3.0 + 1.0) * (2.0 * 1.0));
- s = 0;
- f << "Число x,введенное пользователем, на которое будет производиться умножение каждого слагаемого суммы: " << x << endl;
- f << "Значение,введенное пользователем, до которого будет производиться сумма: " << e << endl;
- 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) {
- cout << "Первый и последующие элементы последовательности ниже e окрестности" << endl;
- f << "Первый и последующие элементы последовательности ниже e окрестности";
- }
- else {
- cout << setw(12) << "Таблица: " << endl;
- f << "Таблица: " << endl;
- cout << setw(37) << "_________________________________" << endl;
- f << setw(37) << "_________________________________" << endl;
- cout << setw(5) << "|" << setw(3) << "i" << "|" << setw(8) << "ai" << setw(6) << "|" << setw(8) << "si" << setw(6) << "|" << "\n";
- f << setw(5) << "|" << setw(3) << "i" << "|" << setw(8) << "ai" << setw(6) << "|" << setw(8) << "si" << setw(6) << "|" << "\n";
- a = (4.0 / ((9.0 + 1.0) * (24.0))) * x*x;
- s += a;
- cout << noshowpos << setw(5) << '|' << setw(3) << i << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
- f << noshowpos << setw(5) << '|' << setw(3) << i << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
- while ((fabs(a) > e) && (i < 1000)) {
- 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;
- s += a;
- cout << noshowpos << setw(5) <<'|' << setw(3) << i+1 << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
- f << noshowpos << setw(5) << '|' << setw(3) << i+1 << '|' << setw(13) << scientific << a << '|' << setw(13) << scientific << s << '|' << "\n";
- i++;
- }
- cout << setw(21) << "Количество шагов: " << i - 1;
- f << setw(21) << "Количество шагов: " << i - 1;
- cout << setw(21) << "Ответ: " << i;
- f << setw(21) << "Ответ: " << i;
- }
- }
- f.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement