Другие языки программирования и технологии

Кому не сложно помогите с С++

1. Вычислить и вывести на экран в виде таблицы значения функции F (из предыдущей лабораторной работы) на интервале от Xнач. до Xкон. с ша-гом dX.

2. Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач да xкон с шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждая строка таб-лицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
Jack Peterman
Jack Peterman
692
#include <iostream>
#include <iomanip>
using namespace std;
unsigned f(double&, double, const double);
double fact(unsigned short);
int main() {
double x_0, x_end, dx, eps, sum;
setlocale(0, "");
cout << "\t X нач: "; cin >> x_0;
cout << "\t X кон: "; cin >> x_end;
cout << "\t dx: "; cin >> dx;
cout << "\t eps: "; cin >> eps;
unsigned n;
for (auto x = x_0; x < x_end + dx / 2; x += dx) {
sum = 0;
n = f(sum, x, eps);
cout << fixed << setw(6) << setprecision(2) << x
<< setw(20) << setprecision(15) << sum
<< setw(6) << n
<< '\n';
}
cin.sync();
cin.get();
}
double fact(unsigned short n) {
if (!n || n == 1) return 1;
double f = 1;
for (short x = 2; x <= n; ++x) f *= x;
return f;
}
unsigned f(double& sum, double x, const double eps) {
unsigned short n = 0;
double member;
do {
member = pow(x, n) / fact(n);
if (n & 1) sum -= member;
else sum += member;
++n;
} while (member > eps);
return n;
}
Виталий Максимов
Виталий Максимов
80 212
Лучший ответ
Если именно таблицу чертить, то в консольке это будет тяжело. Как вариант можно сделать html-файл вывода с табличкой
Подключить библиотеку
написать где-нибудь
ofstream outfile("porgesh.html");
а затем вводить в файл
outfile
<< "HTML"
<< endl (переход на следующую строку)
<< "HEAD"
<< endl
<< ''/HEAD"
<< endl
<< ''BODY"
<< endl
<< "TABLE"
<< endl
тут табличку пишешь при помощи тегов html
<< "/TABLE"
<< endl
<< "/BODY"
<< endl
<< "/HTML";

Этот сайт не даёт вводить теги поэтому всё что большими буквами в теги
Андрей Крупка
Андрей Крупка
28 643