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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2010, 15:39   #1
DarkSwan
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 20
По умолчанию C++ Нахождение корней методом отделения и уточнения

Здравствуйте. К посту прикреплено 2 файла, там текст моей задачи и объяснение ее решения. Есть блок-схема для Маткад. Но в итоге, у меня получился не код, а такая чушь! Особенно вторая часть про уточнение корней... Но т.к. я в этом деле новичок, не знаю, что делать. Посмотрите, пожалуйста.

Код:
#include "stdafx.h"
#include "stdio.h"
#include "math.h"

int N=8;
int i=0;
double a=-1,b=3;
double x0,ya,x;
double d;
double fx;
double e=0.01;
double v[100];

int main()
{
//Отделение корней
	d=(b-a)/N;
	x0=a;
	ya=a*a*a-3*a*a+2;
	fx=x*x*x-3*x*x+2;
	for (x=a;x<=b;)
	{
		if (fx==0)
		{
			ya=(x-e)*(x-e)*(x-e)-3*(x-e)*(x-e)+2;
			x0=x-e;
			x=x-e;
		}
		else if (ya*fx<0)
		{
			v[i]=x0;
			v[i+1]=x;
			ya=fx;
			x0=x;
			i=i+2;
		}
		else 
		{
			ya=fx;
			x0=x;
		}
		x=x+d;
	}

// Уточнение корней
	int k=0,sh;
	double x1,fx1,fa,w[100],z[100];
	for (i=0;i<=4-1;)
	{
		a=v[i];
		b=v[i+1];
		sh=0;
		x1=(a+b)/2;
		fx1=x1*x1*x1-3*x1*x1+2;
		fa=a*a*a-3*a*a+2;
			do {
			if (fx1*fa<0) b=x1;
			else a=x1;
		x1=(a+b)/2;
		sh=sh+1;}
		while (fabs(fx1)>=e);
		w[k]=x1;
		z[k+1]=sh;
		k=k+1;
	}
	printf("Chislo kornei %d	Chislo iteracii pri poiske kornei %d", k,i);
	for (i=1;i<=4-1;i++)
	{
	printf("Koren' uravnenia: %d", w[i]);
	}
	return 0;
}
http://rghost.ru/download/2971333/32...d/IMG_2502.JPG

http://rghost.ru/download/2971381/1a...5/IMG_2503.JPG
DarkSwan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль,1курс универа,Уточнения корней\касательной zoroz74 Помощь студентам 9 12.06.2010 09:33
Программа для уточнения корней уравнения (на DELPHI) mast2xx Помощь студентам 2 21.03.2010 16:43
программа для уточнения корней уравнения (Delphi) mast2xx Помощь студентам 0 20.03.2010 20:21
Алгоритм уточнения корней СЛАУ NexusN Помощь студентам 1 02.04.2008 10:17