Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2015, 20:37   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию Сумма ряда с заданной точностью С++

Здравствуйте. Нужно найти сумму ряда с заданной точностью (ряд во вложенной файле). Не уверена,правильно ли я задала переменную х, дело в том что в условии про то,откуда брать х ничего не сказано. Могли бы ли вы посмотреть,правильно ли я думаю.
Код:
double eps=0.0001;
	int n=0;
	double Sum=0.0,a=1.0;
	double x=1.01;
	x=(log(x+1))/(log(x-1));
	while(abs(a)>eps)
	{
		a=double(1)/(2*n+1)*pow(x,2*n+1);
		Sum+=a;

		n++;
	}
	Sum=2*Sum;
	cout<<"Sum "<<Sum;
	cout<<endl;
Изображения
Тип файла: jpg 12121212.JPG (8.3 Кб, 63 просмотров)
Вероника99 вне форума Ответить с цитированием
Старый 18.10.2015, 20:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
double(1)
А это зачем? Почему не просто 1 или 1.0 ?
Цитата:
правильно ли я думаю.
Вроде все правильно. Программа без ошибок отрабатывает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2015, 22:10   #3
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Да,без ошибок. Только не уверенна,на счет этого х.
Вероника99 вне форума Ответить с цитированием
Старый 18.10.2015, 22:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну напиши так:
Код:
cout<<"Введи Х ";cin>>x;
А свой x=(log(x+1))/(log(x-1)); убери совсем, ибо сумма ряда это и есть натуральный логарифм, и его формула дана для проверки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2015, 22:29   #5
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Сделала так как вы написали, еще возник вопрос: я считаю сумму ряда через цикл while, а потом мне тот же ряд нужно посчитать через do {} while(); и у меня получается разный результат. Не могу понять почему
Код
Код:
int n2=0;
	double Sum2=0.0,a2=1.0;
	double x2=1.0;
	//x2=(log(x2+1))/(log(x2-1));
   do { 
        a2=1.0/(2*n+1)*pow(x,2*n+1);
        Sum2+=a2;
        n2++;
    }  while (abs(a2)>eps);

   Sum2=2*Sum2;
 
	cout<<"Sum2 "<<Sum2;
Вероника99 вне форума Ответить с цитированием
Старый 18.10.2015, 22:39   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

И конечно же отладчик для тебя несуществующий мононоке?
Эх студенты, студенты... И чего же вы так отладчики не любите?
Смотри:
Код:
a2=1.0/(2*n+1)*pow(x,2*n+1);
Видишь чего тут не хватает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2015, 22:42   #7
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Ой,я только что заметила,что не поменяла названия переменных. Эххх,да,спасибо,теперь все совпадает
Вероника99 вне форума Ответить с цитированием
Старый 18.10.2015, 22:54   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пожалуйста )
Будь внимательнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму ряда с заданной точностью = 10 C++ referent Помощь студентам 5 28.04.2014 11:29
Вычислить сумму ряда с заданной точностью Tecknogleb Помощь студентам 1 20.10.2012 03:03
Сумма ряда с заданной точностью MarchZM Общие вопросы C/C++ 0 09.10.2010 16:10
нахождения суммы ряда с заданной точностью E pinch000 Общие вопросы C/C++ 1 06.11.2009 13:03