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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2010, 10:04   #1
Pascaler
Пользователь
 
Регистрация: 08.04.2010
Сообщений: 45
По умолчанию C++ Операции с циклами

Вычислить S = sh(x) = x + x^3/3! + x^5/5! + ... + x^(2 * N+1) / (2 * N+1)! для заданного N
Pascaler вне форума Ответить с цитированием
Старый 03.12.2010, 14:41   #2
Grimer
Новичок
Джуниор
 
Регистрация: 25.11.2010
Сообщений: 2
По умолчанию

Код:
#include <iostream.h>
#include <math.h>

// Вычислить S = sh(x) = x + x^3/3! + x^5/5! + ... + x^(2 * N+1) / (2 * N+1)! для заданного N

int _tmain(int argc, _TCHAR* argv[])
{
	double x = 0;
	cout << "Input X: ";
	cin >> x;
	int n = 0;
	cout << "Input N: ";
	cin >> n;

	double S = 0;
	if (n > 0) S = x;
	double x_2 = x * x;
	double arg = x;
	for (int i = 1; i < n; i++)
	{
		arg *= x_2;
		double fact = 1;
		for (int k = 2; k <= 2 * i + 1; k++)
		{
			fact *= k;
		}
		S += arg / fact;
	}

	cout << "Value of S(" << x << ")" << " for N=" << n << " elements: " << S << '\n';
	cout << "Value of sh(" << x << ")=" << sinh(x) << '\n';
	cin.get();
	cin.get();
	return 0;
}

Последний раз редактировалось Grimer; 03.12.2010 в 14:43.
Grimer вне форума Ответить с цитированием
Старый 03.12.2010, 15:53   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от Grimer Посмотреть сообщение
Код:
	double S = 0;
	if (n > 0) S = x;
	double x_2 = x * x;
	double arg = x;
	for (int i = 1; i < n; i++)
	{
		arg *= x_2;
		double fact = 1;
		for (int k = 2; k <= 2 * i + 1; k++)
		{
			fact *= k;
		}
		S += arg / fact;
	}
Можно убрать дополнительный цикл для вычисления факториала, перенеся его во внешний
Код:
	double S = 0;
	if (n > 0) S = x;
	double arg = x;
	double fact = 1;
	for (int i = 2; i <= n; i++)
	{
		arg *= x*x;
		fact *= (2*i-2)*(2*i-1);
		S += arg / fact;
	}
eoln вне форума Ответить с цитированием
Старый 03.12.2010, 20:03   #4
Deshrefresh
 
Регистрация: 03.12.2010
Сообщений: 9
По умолчанию

1. Найти сумму ряда с точностью е=10^-3 ,общий член которого An = (-1)^n-1/n^n
Deshrefresh вне форума Ответить с цитированием
Старый 03.12.2010, 20:37   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от Deshrefresh Посмотреть сообщение
1. Найти сумму ряда с точностью е=10^-3 ,общий член которого An = (-1)^n-1/n^n
Данный ряд не сходится. Советую правильно расставить скобки, прочитать правила форума, создать свою тему в нужном разделе, а не лезть в чужую и показать своё решение. Если своего решения (хотя бы неправильного) нет, то пости в раздел "Фриланс" - быстро, качественно, с подробными комментариями ответят, но за пару рублей денег.
eoln вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с циклами Guap Помощь студентам 12 14.10.2010 21:39
задача с циклами werturo Помощь студентам 4 14.10.2010 08:45
работа с циклами серг Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 22.04.2010 21:34
задачи с циклами bendr Паскаль, Turbo Pascal, PascalABC.NET 6 16.04.2009 20:12
Работа с циклами. Надюха Помощь студентам 3 26.10.2007 09:29