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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
wertrix
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 49
#1

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

02.10.2010, 12:31. Просмотров 1857. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2010, 12:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить сумму бесконечного ряда с заданной точностью (C++):

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

Найти сумму бесконечного ряда с заданной точностью - C++
Народ помогите пожалуйста запрограммировать.:'( Вот что у меня получается... // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

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

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

Вычислить с заданной точностью значение функции, представленной в виде суммы бесконечного ряда - C++
Всем привет. Я делаю лабу по программированию,но у меня не выходит,так как я только начинаю знакомиться с языком С++.Помогите...

Вычислить сумму бесконечного ряда с заданной точность для значения x - C++
Вычислить суму бесконечного ряда с заданной точностью ε &lt; 1 для –1 &lt; x &lt; 1 Программа должна содержать простое меню, которое...

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

Добавлено через 10 минут
Цитата Сообщение от wertrix Посмотреть сообщение
... а при float находит, но неправильную...
А откуда такая уверенность ?)
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.10.2010, 13:26 #7
Мне интересно, почему при точности 0,99 он всё равно выводит ту же сумму...
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,988
02.10.2010, 13:27 #8
Цитата Сообщение от silent_1991 Посмотреть сообщение
Мне интересно, почему при точности 0,99 он всё равно выводит ту же сумму...
Вы eps вводите ? Да вродь на глазок нет явной ошибке в результате.
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.10.2010, 13:32 #9
Да eps.

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

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

Добавлено через 1 минуту
Ха... А если сетлокал закомментить - работает...
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,988
02.10.2010, 13:33 #10
может точка с запятой подменяются или спецификатор все таки нормальный воткнуть.
1
wertrix
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 49
02.10.2010, 13:34  [ТС] #11
Реально, если сетлокал закомментить то работает... Странно, неправда ли?
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.10.2010, 13:34 #12
Мать моя... Поскольку сетлокаль никогда не использовал, просто не подумал, что в русской локали в качестве разделителя целой и дробной часте идёт запятая, а не точка... С раскомменченной сетлокаль и при использовании запятой всё работает))
1
02.10.2010, 13:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2010, 13:34
Привет! Вот еще темы с ответами:

Вычислить сумму ряда с заданной точностью - C++
работает только при значениях: 0, 1, -1, при остальных значениях не работает. Подскажите пожалуйста в чем проблема. Условие: Даны...

Вычислить сумму ряда с заданной точностью - C++
Помогите пожалуйста, задание подобного типа, работу сдавать через 8 часов( 3D_SmileLight, пожалуйста, прочитайте правила форума и...

Вычислить сумму ряда, с заданной точностью - C++
Вот задание Вычислить сумму ряда, с точностью до е = 0,012 , общий член которого An=(1/n)^2e sqrt(n+1) вычислить ...

Вычислить сумму ряда с заданной точностью - C++
Только начал изучать. Пока я овощ. Поясните в чем ошибка, конкретно уже запутался в знаках и переменных Вычислить сумму с заданной...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru