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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.04.2011, 10:13   #1
Ангел без крыльев
Пользователь
 
Регистрация: 30.04.2011
Сообщений: 10
По умолчанию найти ошибки!!))

Надо вычислить первую и вторую прозводные и интеграл по методу Симсона с автоматическим выбором шага по заданной точночти...
Вот код программы:
Код:
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
   double Y(double);
   double D1F (double,double);
   double D2F (double,double);
   double Int (int,double,int);

int main()
{
	int a=4;
	int m;
	double h, x, y, d1, d2, d1t, d2t, delta1, delta2,b=7;
    cout<<"Vvedite shag: ";
	cin>>h;
    cout<<"Vvedite m: ";
	cin>>m;
	for (int j=1; j<21; j++)
	{
		x=a-(j-1)*((b-a)/20);
		y=Y(x);
		d1=D1F(x,h);
		d2=D2F(x,h);
		d1t=(exp(x)/(pow(x,3)))-((3*exp(x))/(pow(x,4)))-3*(pow(sin(x),2))*cos(x);
		delta1=d1t-d1;
		d2t=(exp(x)/(pow(x,3)))-((6*exp(x))/(pow(x,4)))+((12*exp(x))/(pow(x,5)))-6*(sin(x))*(pow(cos(x),2))+3*(pow(sin(x),3));
        delta2=d2t-d2;
	cout<<"x="<<x<<setw(10)<<"y="<<y<<endl;
    cout<<d1t<<setw(20)<<d1<<setw(20)<<delta1<<endl;
    cout<<d2t<<setw(20)<<d2<<setw(20)<<delta2<<endl;
	}
	double s=Int(a,b,m);
	cout<<"s:"<<s<<endl;
	return 0;
}

double Y(double x)
{
	return ((exp(x)/(pow(x,3)))-pow(sin(x),3));
}
double Int (int a,double b, int m)
{
	int n;
	double delta,h,h2,st,ss,x;
	cout<<"Vvedite delta: ";
	cin>>delta;
	cout<<"Vvedite n:";
	cin>>n;
	h=(b-a)/2;
	h2=h/2;
	m=2;
	st=Y(a+h)+(Y(a)+Y(b))/2;
	ss=Y(b-2*h)+Y(a+2*h);
	do
	{
		if((h*fabs(ss-st)>delta) && (m<n))
		{
			st=st+ss;
			ss=0;
			h=h2;
			h2=h2/2;
			m=2*m;
			x=a+h2;
			ss=ss+Y(x);
			x=x+h;
		}
	}
		while (x<b);
	double Integ=(h*(st+ss))/3;
		if(m>n)
			cout<<"To4nost' ne dostignuta"<<endl;
		return Integ;
}

double D1F (double x,double h)
{
	return (Y(x+h)-Y(x-h))/(2*h);
}

double D2F (double x,double h)
{
	return (Y(x+h)-2*Y(x)+Y(x-h))/pow(h,2);
}

Последний раз редактировалось ACE Valery; 01.05.2011 в 01:04.
Ангел без крыльев вне форума
Старый 01.05.2011, 01:06   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Закрыто за некорректное название темы
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти ошибки в программе IceFlame1292 Помощь студентам 2 09.01.2011 21:55
найти ошибки Marseline Помощь студентам 0 22.01.2010 15:48
Не могу найти две ошибки. Lunex.08 Общие вопросы C/C++ 10 22.10.2009 09:44
Помогите найти ошибки Adex Общие вопросы C/C++ 8 21.10.2009 19:32
Помогите найти ошибки Qwoort Общие вопросы C/C++ 1 26.04.2009 12:50