0 / 0 / 1
Регистрация: 01.10.2010
Сообщений: 49
1

Вычислить сумму бесконечного ряда с заданной точностью

02.10.2010, 12:31. Показов 2916. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пожалуйста, помогите найти ошибку в программе, которая должна находить сумму бесконечного ряда с заданной точностью (s=pow(-1,i)/pow(5,i)) для i=1 и до бесконечности):
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 <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
void main()
{
    setlocale(LC_ALL,"Rus");
 
    double s=0;
    double n=-0.2;
    double eps;
 
    printf("Введите значение точности. Е = ");
    scanf("%f",&eps);
 
    while(fabs(n)>eps)
    
    {
        s+=n;
        n*=-0.2;
    }
    
    printf("Для заданной точности сумма ряда равна: %f",s);
    
    getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2010, 12:31
Ответы с готовыми решениями:

Найти сумму бесконечного ряда с заданной точностью
Нужно вычислить с заданной точностью. Помогите реализовать, я то не догоняю как это можно сделать....

Посчитать сумму бесконечного ряда с заданной точностью
Помогите написать программу на С++. необходимо посчитать сумму бесконечного ряда с заданной...

Найти сумму бесконечного ряда с заданной точностью
Народ помогите пожалуйста запрограммировать.:'( Вот что у меня получается... // #include...

Рассчитать сумму членов бесконечного ряда с заданной точностью
Рассчитать сумму членов бесконечного ряда с заданной точностью Е для заданного пользователем...

11
Эксперт С++
5054 / 3114 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
02.10.2010, 12:45 2
Уто ж вас всех учит писать void main()...
Замените на int main(), и в самом конце программы, после getch(), напишите return 0;
0
0 / 0 / 1
Регистрация: 01.10.2010
Сообщений: 49
02.10.2010, 12:56  [ТС] 3
Написал, но ничего не изменилось, когда ввожу точность, ничего не происходит, просто как бы программа зависает. Но когда переменные ввожу как float, а не double, то программа постоянно пишет -0.166667, при любых значениях точности...
0
Эксперт С++
5054 / 3114 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
02.10.2010, 13:00 4
Вместо s = 0; пишите s = 0.0;
0
0 / 0 / 1
Регистрация: 01.10.2010
Сообщений: 49
02.10.2010, 13:05  [ТС] 5
Не работает, мне интересно, почему при типе переменных double сумму ряда не находит вообще, а при float находит, но неправильную...
0
1562 / 1040 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
02.10.2010, 13:26 6
-0.166667 пишет должно быть потому, что сумма ряда сходится к этому значению. А насчет double попробуй спецификатор типа lf поставить.

Добавлено через 10 минут
Цитата Сообщение от wertrix Посмотреть сообщение
... а при float находит, но неправильную...
А откуда такая уверенность ?)
0
Эксперт С++
5054 / 3114 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
02.10.2010, 13:26 7
Мне интересно, почему при точности 0,99 он всё равно выводит ту же сумму...
0
1562 / 1040 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
02.10.2010, 13:27 8
Цитата Сообщение от silent_1991 Посмотреть сообщение
Мне интересно, почему при точности 0,99 он всё равно выводит ту же сумму...
Вы eps вводите ? Да вродь на глазок нет явной ошибке в результате.
0
Эксперт С++
5054 / 3114 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
02.10.2010, 13:32 9
Да eps.

Добавлено через 43 секунды
Ошибки-то нет, но мне интересно, почему он из цикла на первой же итерации не выходит...

Добавлено через 1 минуту
Хм... А если явно пишу точность в while - выходит...

Добавлено через 1 минуту
Ха... А если сетлокал закомментить - работает...
0
1562 / 1040 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
02.10.2010, 13:33 10
может точка с запятой подменяются или спецификатор все таки нормальный воткнуть.
1
0 / 0 / 1
Регистрация: 01.10.2010
Сообщений: 49
02.10.2010, 13:34  [ТС] 11
Реально, если сетлокал закомментить то работает... Странно, неправда ли?
0
Эксперт С++
5054 / 3114 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
02.10.2010, 13:34 12
Мать моя... Поскольку сетлокаль никогда не использовал, просто не подумал, что в русской локали в качестве разделителя целой и дробной часте идёт запятая, а не точка... С раскомменченной сетлокаль и при использовании запятой всё работает))
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2010, 13:34
Помогаю со студенческими работами здесь

Вычислить значение суммы бесконечного ряда с заданной точностью e=10^-5
Вычислить значение суммы бесконечного ряда с заданной точностью e=10^-5 (представлено ниже в png),и...

вычислить значение суммы бесконечного ряда с заданной точностью
Всем привет! Помогите сделать шестое задание с скрина. В задании сказано, что нужно использовать...

Рассчитать сумму членов бесконечного ряда с заданной пользователем точностью
Рассчитать сумму членов бесконечного ряда с заданной пользователем точностью е для заданного...

Вычислить с точностью (эпсилант) сумму бесконечного ряда.
1)используя смешанный способ вычисления члена ряда, 2)используя рекуррентную формулу для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru