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

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

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

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

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

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

Добрый день.Посмотрите пожалуйста правильный ли код к этой формуле

Код:
double eps; //точность 
	
	int n=1; //переменная n в соответсвии с формулой
	double Sum=0.0,a=1.0,b=1.0,c=1.0; //sum для хранения суммы ряда, а- один член ряда
	double result=0.0;
	double x; //переменная х в соответсвии с формулой
	cout<<"Введите точность";
	cin>>eps; 
	cout<<"Введите аргумент х";
	cin>>x; 

		while(abs(a)>eps) //цикл с предусловием
		{
			for(int i=1;i<=(2*n)-1;i++)
			{
				if(i%2!=0)
				{
					b*=i;
				}
			}

			for(int i=1;i<=(2*n)*(2*n);i++)
			{
				if(i%2==0)
				{
					c*=i;
				}
			}

			a=(b/c)*(1/(pow(x,2*n)));
			Sum+=a;
			n++;
		}
Изображения
Тип файла: jpg Безымянный.JPG (9.2 Кб, 46 просмотров)
Вероника99 вне форума Ответить с цитированием
Старый 07.11.2015, 10:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А запустить его не пробовала? Что выдает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.11.2015, 13:07   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Вспоминаю былые времена.
Напишешь такую прогу - надо проверить результат. Ну не на калькуляторе жэж!
Заодно и маткад изучил. Хорошо!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 07.11.2015, 14:37   #4
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

При epss=0.001 и x=2 результат=1.38. Я не уверена,правильно ли я написала эти два цикла, которые соответствуют числителю и знаменателю, цикл работает в числителе до (2*n)-1,а в знаменателе до (2*n)*(2*n). Я правильно думаю или нет?
Вероника99 вне форума Ответить с цитированием
Старый 07.11.2015, 18:22   #5
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А запустить его не пробовала? Что выдает?
Не подскажете?(
Вероника99 вне форума Ответить с цитированием
Старый 07.11.2015, 18:39   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

а причем тут точность? Вы хоть формулу в обобщенном виде вывели?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 07.11.2015, 18:59   #7
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Да,вот продолжение:
Код:
result=log(2*x)-Sum;
cout<<"Result "<<result; //выводим полученную сумму
Вероника99 вне форума Ответить с цитированием
Старый 07.11.2015, 19:09   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не подскажете?(
Не подскажу что?
Как на калькуляторе сделать расчет?
Я сейчас наверное обидную вещь спрошу но: Ты умеешь работать с калькулятором? Ты в курсе вообще что такое "калькулятор" и с чем его едят?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.11.2015, 19:14   #9
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Цитата:
Вы хоть формулу в обобщенном виде вывели?
Цитата:
Код:
result=log(2*x)-Sum;
cout<<"Result "<<result; //выводим полученную сумму
да, понятно конечно, что в конце так нужно считать, я немного про другое спрашивал. Ну да ладно))

просто не совсем понятно каким законам подчиняется знаменатель
from dark to light)

Последний раз редактировалось Алексей_2012; 07.11.2015 в 19:21.
Алексей_2012 вне форума Ответить с цитированием
Старый 07.11.2015, 19:20   #10
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Так вот дело в том,что я считала,при eps=0.1 x=2,на калькуляторе выходит 1.32, а программа выдает 1.38. И вот думаю,что проблема с этими циклами. Кстати там кое-что доделала
Код:
do 
	  {  //цикл с постусловием

		  for(int i=1;i<=(2*n2)-1;i++)
			{
				if(i%2!=0)
				{
					
					b2*=i;
				}
			}
			cout<<endl;
			for(int i=1;i<=(2*n2)*(2*n2);i++)
			{
				if(i%2==0)
				{
					
					c2*=i*i;
				}
			}

			a2=(b2/c2)*(1/(pow(x,2*n2)));
			Sum2+=a2;
			n2++;
	  
	  
	  }

Последний раз редактировалось Вероника99; 07.11.2015 в 19:24.
Вероника99 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для заданного ряда найти сумму N элементов ряда havapeymaK Помощь студентам 7 18.08.2015 09:18
Не считает количество членов ряда Tatyana64 Помощь студентам 2 06.11.2012 11:14
считает не правильно rapgamer Помощь студентам 3 15.09.2010 14:23
Не правильно считает сумму чисел, которые находятся в файле. TheWanderer Общие вопросы C/C++ 6 17.04.2009 18:43
Найти сумму ряда с точностью e, если дан общий член этого ряда JiLiYa Общие вопросы C/C++ 2 18.02.2009 11:11