Помогите Пожалуйста В Написании Программы

Lizzz

New member
26.01.2013
0
0
#1
Привет всем=). Помогите пожалуйста. Вот задание:

При некоторых заданных x, N и E, определяемых вводом, вычислить:
a)сумму N слагаемых заданного вида;
:lovecodeby:сумму тех слагаемых, которые по абсолютной величине больше Е.
Для случая b выполнить суммирование для двух значений Е, отличающихся на порядок, и при этом определить количество слагаемых, включенных в сумму. Сравнить результаты с точным значением функции, для которой данная сумма определяет приближенное значение при x, лежащем в интервале (-R, R).
arctg(x)= x - (x^3)/3 + (x^5)/5 - (x^7)/7 + (x^9)/9 ... (R = 1)
Постаралась саму формулу записать понятно, если все же что-то будет не понятно, я объясню( x^3 - это х в степени 3). Для задания а) я написала программу, вот она:

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int x, ch, zn, znak, i;
int a[5];
float s, sl;

cout << "x = ";
cin >> x;
s = 0; ch = x; zn = 1; znak = 1;
for (i = 1; i < 5; i++)
ch = ch * x * x;
znak = znak * (-1);
zn =zn + 2;
sl = ch/zn;
s = s + znak * sl;
cout << "s = "<< s;

}
Дальше, как я понимаю, нужно вычислить arctg(x), вот тут уже первая проблема. Не пойму, как правильно записывается на С++ вычисление актангенса. Пробовала найти в инете, там везде по-разному написано, везде практически нужно в описании указать, что x- вещественного типа, но я же его ввожу, как я могу указать тип...
Задание b ) что-то вообще не пойму, как делать. С суммой слагаемых, по абсолютной величине больших Е ясно, а вот дальше... Пожалуйста, помогите, если кто-нибудь сможет. Буду очень признательна. Спасибо заранее)
 

Lizzz

New member
26.01.2013
0
0
#2
Ой, прошу прощения, не тот код написала. Я представила выражение в виде ряда. Вот программа:
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int x, ch, zn, znak, i;
float s, sl, n;
cout << "n = ";
cin >> n;
cout << "x = ";
cin >> x;
s = 0; ch = x; zn = 1; znak = 1;
for (i = 0; i <= n; i++)
{
sl = pow( -1, n ) * (pow( x,(2* n + 1)))/ (2*n +1);
s = s + sl;

}
cout << "s = "<< s;

}