Python

С++ написать код для техникума.

Надо очень срочно сдать работу, не могу сделать.
-----------------------------------------------------------------------------------------

Вывести на экран таблицу значений функции Y(x) = sin x и ее
разложения в ряд S(x) =

с точностью ε = 0.001. Вывести число итераций, необходимое для достижения заданной точности.
---------------------------------------------------------------------------------------------
На скринах вся суть задания. (Главное чтобы работало на сайте с++ online compiler)

Буду безумна благодарна!!!

Только пожалуйста не оставляйте подобные комментарии "интернет в помощь" в общем не относящиеся к коду и решению.


Заранее спасибо.
Пример табуляции синуса, вычисляемого разложением в ряд с заказываемой точностью (фактическая точность намного выше !) ε=1e-3 на отрезке [-1;1.3], с печатью аргумента, значения функции и количества итераций:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int n;
double Sin(double x)
{
double y = - x * x, p = x, s = x, q = 1;
while (fabs(p) > 0.001)
{
q += 2.;
p *= y / (q * (q - 1));
s += p;
}
n = (int)((q - 1.) / 2);
return s;
}
int main()
{
double i, h = 0.1, x, y;
for (i = 0; i <= 23; i++)
{
x = -1. + i * h;
y = Sin(x);
cout << setprecision(1) << setw(4) << x
<< setprecision(15) << fixed << setw(20)
<< y << setw(5) << n << endl;
}
}
ДМ
Доткаев Максим
29 440
Лучший ответ
Алексей Носов А можешь объяснить откуда (double i, h = 0.1, x, y; ) h= 0.1 что это и
for (i = 0; i <= 23; i++) (что такое 23)

Вообщем мне нужна логика кода, почему что где)
Алексей Носов Методичка давольно кривая и не понятная это первая проблема :>.
На счет точности ε=1e-5 она так и есть я просто забыла скинуть название столбцов самого задания, вот они.
Алексей Носов Ну вот такая методичка и задания, :( Можешь перерешать?
#include
#include
#include
using namespace std;
int n;
double Sin(double x)
{
double y = - x * x, p = x, s = x, q = 1;
while (fabs(p) > 0.001)
{
q += 2.;
p *= y / (q * (q - 1));
s += p;
}
n = (int)((q - 1.) / 2);
return s;
}
int main()
{
double i, h = 0.1, x, y;
for (i = 0; i <= 23; i++)
{
x = -1. + i * h;
y = Sin(x);
cout << setprecision(1) << setw(4) << x
<< setprecision(15) << fixed << setw(20)
<< y << setw(5) << n << endl;
}
}
MH
Mars Hoppus
236