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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2009, 18:05   #1
Andrew M.
Новичок
Джуниор
 
Регистрация: 17.11.2009
Сообщений: 2
По умолчанию [C++]Вычисление функции

Здраствуйте. В универе задали такую задачу...
Разработать алгоритм вычисления и вывода приближённых значений указанной ниже функции для заданных в исходных данных количества членов ряда, количества аргументов и значений аргументов.
y=1-x/1!+x^2/2!-x^3/3!+...

Код:
#include<stdio.h>
#include<math.h>
void main(void)
{
	int n,y,x,i,j,z,S1,p;
	float S,w;
	j=1;
	printf("\n Vvedite y, koli4estvo argumentov \n");
	scanf("%d",&y);
	do
	{
		i=0;
		S=0;
		printf("\n Vvedite n, koli4estvo 4lenov p9da \n");
		scanf("%d",&n);
		printf("\n Vvedite x, zna4enie argumenta \n");
		scanf("%d",&x);
		p=n-1;
		while (i<p)
		{
			if (i==0)
				{
				S1=1;
				}
					else
					{
					S1=1;
					z=1;
					do
						{
						S1=S1*z;
						z=z+1;
						}
					while (z<i);
					}
					w=(pow(x,i))/S1;
					if (i%2==0)
						{
						w=w*(-1);
						}
					S=S+w;
					i=i+1;
		}
		j=j+1;
		printf("\n zna4enie funkcii= %f",S);
		printf("\n n= %d",n);
		printf("\n x= %d",x);
	}
	while (j<=y);
}
Каждый раз выводит неправильное значение функции.(не сходится со значением, посчитанным вручную).Пожалуйста, помогите найти ошибку.
Andrew M. вне форума Ответить с цитированием
Старый 17.11.2009, 18:26   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Зачем Вам такие сложности? Сделайте проще
Код:
s=1;
el=1;
for (i=1;i<=n;i++)
{
el=el*(x/i);
s=s+el;
}
только еще знак учтите.
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 17.11.2009 в 20:46.
Sweta вне форума Ответить с цитированием
Старый 18.11.2009, 22:36   #3
Andrew M.
Новичок
Джуниор
 
Регистрация: 17.11.2009
Сообщений: 2
По умолчанию

Спасибо)
помогло
Andrew M. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление функции XSGRAFF Общие вопросы C/C++ 4 25.05.2009 22:56
Вычисление значений функции KREGI Помощь студентам 22 09.03.2009 16:41
Вычисление функции в бейсике Absent Помощь студентам 3 16.11.2008 13:17
Вычисление производной функции mde Помощь студентам 0 01.06.2008 12:52
Паскаль. Вычисление функции СТАС48 Помощь студентам 0 30.11.2007 07:44