С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вычислить бесконечную сумму ряда с заданной точностью e (e>0) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ строки на pellec C http://www.cyberforum.ru/cpp-beginners/thread401298.html
Дана строка – предложение. Определить количество слов в строке содержащих ровно два символа «С». Символ «С» указывает пользователь. Функции библиотек stlib.h и string.h использовать запрещено.
C++ Перегрузка операторов на С++ Создать класс целых чисел (long). Определить оператор ++, как функцию-член и -- как дружественную функцию. Бинарная операция Создать класс вещественных чисел (double). Определить оператор... http://www.cyberforum.ru/cpp-beginners/thread401296.html
ИСпользуя функцию, вычислить значения выражения. C++
Даны действительные числа s, t. Используя функцию h(a,b)=(a/(1+b^2))+(b/(1+a^2))-((a-b)^3), вычислить значения h(s,t)+max(h^2(s-t, s*t), h^4*(s-t, s+t))+h(1,1).
C++ Нахождение в предлложении букв, и посчитать их.
Определить, сколько раз в заданном предложении встречается сочетание двух первых букв. #include "stdafx.h" // #include <math.h> #include <iostream> #include <string.h> using namespace std; ...
C++ Определить наименьший элемент каждой четной строки матрицы A[N,N]. http://www.cyberforum.ru/cpp-beginners/thread401279.html
Определить наименьший элемент каждой четной строки матрицы A.
C++ Составить программу ,позволяющую по последней цифре данного числа определить последнюю цифру этого куба этого числа. Составить программу ,позволяющую по последней цифре данного числа определить последнюю цифру этого куба этого числа. подробнее

Показать сообщение отдельно
Heidel
111 / 111 / 7
Регистрация: 11.10.2011
Сообщений: 647
07.12.2011, 23:46
Я написала так, она работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
    int i = 1;
    double e;
    double s;
    double a;
 
    cout << "e == ";
    cin >> e;
    
    a = pow (-1, 2*1)/(1*(1+1)*(1+2));
    s = a;
 
    while (a >= e)
    {
        i++;
        a = pow (-1, 2*i)/(i*(i+1)*(i+2));
        s=s+a;
    }
 
    cout << "i == " << i << endl;
    cout << "a == " << a << endl; //значение a, которое уже НЕ ВХОДИТ в е
    cout << "s == " << s << endl;
    return 0;
}
У меня проблема была в том, что, похоже, строка
C++
1
a = 1/6;
вычислялась равной нулю, а если написать в том виде, в котором она записана у меня, то все работает.

И да, раз в ряде http://www.cyberforum.ru/cgi-bin/latex.cgi?{-1}^{2*i}, т.е. -1 всегда возводится в четную степень, то а>0 всегда , и
C++
1
fabs(a) < e
это лишнее.

Добавлено через 7 минут
Ааа, всё, поняла в чем ошибка.
Надо
C++
1
a = (double) 1/6;
Ну и соответственно вся программа целиком
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
    int i = 1;
    double e;
    double s;
    double a;
    
    cout << "e == ";
    cin >> e;
    
    a = (double) (1/6);
    s = a;
 
    while (a >= e)
    {
        i++;
        a = pow (-1, 2*i)/(i*(i+1)*(i+2));
        s=s+a;
    }
 
    cout << "i == " << i << endl;
    cout << "a == " << a << endl; //Г§Г*Г*Г·ГҐГ*ГЁГҐ a, êîòîðîå óæå ГЌГ… ÂÕÎÄÈÒ Гў ГҐ
    cout << "s == " << s << endl;
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.