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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2012, 12:16   #1
Dmitry_Web
Пользователь
 
Аватар для Dmitry_Web
 
Регистрация: 01.11.2011
Сообщений: 43
По умолчанию Вычисление значений функции

Составьте программу вычисления значений функции Y(x), суммы S(x), |Y(x)-S(x)| на интервале от 0,1 до 1 с шагом 0,1.
Снимок.JPG
С Y(x) всё понятно, интересует S(x).
Код:
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
unsigned long factorial(unsigned long);


unsigned long factorial(unsigned long number)
	{
		if(number<=1)
			return 1;
		else
			return number *factorial(number -1);
	}
int main()
{
	double s, y, i, h=0.1, x, sum=0;
	int k;
	unsigned long number;
	cout<<setw(5)<<"x"<<setw(15)<<"y(x)"<<setw(15)<<"s"<<setw(15)<<"y(x)-s(x)"<<endl;
	for(k=0, x=0.1; x<=1; x+=h)
	{
		y=(1-pow(x,2)/2)*cos(x)-x*sin(x)/2;
		number=2*k;
		s=(pow(-1,k)*(2*pow(k,2)+1)/factorial(number))*pow(x,2*k);
		sum+=s;
		cout<<setw(5)<<x<<setw(15)<<y<<setw(15)<<sum<<setw(15)<<fabs(y-sum)<<endl;
		k++;
	}
	return 0;
}
Dmitry_Web вне форума Ответить с цитированием
Старый 24.01.2012, 12:35   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Вычисление S оформи в отдельный _вложенный цикл_ или вообще вынеси в функцию. Спаренные циклы до добра не доведут, ибо, как говорится, "нельзя впихнуть невпихуемое" (с)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 24.01.2012, 20:43   #3
Dmitry_Web
Пользователь
 
Аватар для Dmitry_Web
 
Регистрация: 01.11.2011
Сообщений: 43
По умолчанию

А смысл? Всё равно одно и то же выходит.
P.S. Написать нужно срочно т.к. завтра экзамен.
Dmitry_Web вне форума Ответить с цитированием
Старый 25.01.2012, 10:41   #4
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Так у тебя же сумма там от нуля до N, а у тебя в программе даже такой переменный нет. А сумируешь ты по количеству шагов Х, причем с разными значениями Х, поэтому полный бред и выходит. Нужно еще один цикл делать.
Код:
int main()
{
	double s, y, i, h=0.1, x, sum=0;
	int k;
int n=5;
unsigned long number; cout<<setw(5)<<"x"<<setw(15)<<"y(x)"<<setw(15)<<"s"<<setw(15)<<"y(x)-s(x)"<<endl; for(x=0.1; x<=1; x+=h) { y=(1-pow(x,2)/2)*cos(x)-x*sin(x)/2;
sum=0; for(k=0; k<=n; k++) { number=2*k; s=(pow(-1,k)*(2*pow(k,2)+1)/factorial(number))*pow(x,number); sum+=s; }
cout<<setw(5)<<x<<setw(15)<<y<<setw(15)<<sum<<setw(15)<<fabs(y-sum)<<endl; k++; } return 0; }
Как то так, я n задал 5, но ты узнай какое оно у тебя должно быть, а скорее всего надо будет считать пока N-ный элемент не станет меньше какого то значения которым можно пренебречь.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление массива значений функции(С++Builder ) mathe Помощь студентам 0 27.04.2009 08:57
Вычисление массива значений функции(С++) mathe Помощь студентам 1 22.04.2009 15:11
Вычисление массива значений функции mathe Общие вопросы C/C++ 0 22.04.2009 10:27
Вычисление значений функции KREGI Помощь студентам 22 09.03.2009 16:41