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

С++ ряды. Нужна помощь

Задали задачку на С++, а мы только начали его учить. Код есть, но в нём и ошибки. Может кто то подскажет как лучше

Задание:

Даны действительные числа и целое число . Вычислить с точностью Е сумму ряда. Требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых и очередное слагаемое оказалось по модулю меньше, чем  , -это и все последующие слагаемые можно уже не учитывать. Для каждого варианта определить диапазон возможных значений аргументов.

Сам ряд:

Вот. Математически пришли к выводу что ряд сходится и его предел при к в бесконечность стремится к нулю.
Теперь сам код:
<code>
#include "stdafx.h"
#include <cmath>
#include <clocale>
#include <iostream>

using namespace std;

int fuct(int k);
float Pow(float a,int k);
float K(int k);

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(0, "Rus");

float x, e;
cout<<"Введите значение аргумента x = ";cin>>x;
cout<<"Введите значение точности вычисляемой суммы (e>0) e = ";
cin>>e;

float summa = 0;
//точность E должна быть больше нуля
if (e>0){
bool flag=true;
int x=1;
float summa=K(x);
while (flag)
{
float pred=K(x);
float prev=K(x+1);
summa+=prev;
if((fabs(pred)-fabs(prev))<=e)
flag=false;
i++;
}

cout<<"Сумма ряда = "<<summa<<"\n";>0)
return s;
return 1/s;
}

</code>

Мне кажется что проблема в логике. Подскажите пожалуйста хоть в какую сторону двигатся что бы решить задачу
#include <cmath>
#include <iostream>

using namespace std;

int main() {
    double x, e;
    cout << "x? ";
    cin >> x;
    cout << "e? ";
    cin >> e;
    if (e < 0) {
        cout << "error: e < 0\n";
        return 0;
    }
    // при k = 0:
    double xk = x * x;    // очередной числитель дроби
    double fk = 2;        // факториал
    double sk = xk / fk;    // очередной член суммы
    double s = sk;        // сумма
    // вычисления до требуемой точности
    for (int k = 1; abs(sk) > e; ++k) {
        xk *= -x;
        fk *= k + 2;
        sk = xk / ((k + 1) * fk);
        s += sk;
    }
    cout << "summ: " << sk << endl;
    return 0;
}

Код лучше публиковать на сайте pastebin.com
ВГ
В Глаз Смотри
92 305
Лучший ответ
детская задачка давай сложнее