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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2009, 18:17   #1
jewels
 
Регистрация: 15.11.2009
Сообщений: 4
По умолчанию найти корень уравнения (С++)

Помогите, пожалуйста, решить задачку: "Нехай f(x) - неперервна функція, монотонна на відрізку [a,b]. Застосувавши сигнатуру

double dichotomy(double (*f)(double), double a, double b, double eps);

запрограмувати обчислення кореня рівняння f(x)=0 на відрізку [a,b] методом поділу відрізка пополам за умови, що f(x) приймає на кінцях відрізку значення різних знаків. Застосувати запрограмовану функцію для розв'язування рівнянь

1. sin(x) = x, [-1,1];
2. sin(x) = 0, [π-1, π];
3. ln(x )= 1, [2, 3];
4. exp(x)=2-x, [0,2] ."

У меня идейки есть, но я не совсем понимаю, что такое double (*f)(double) и как с ним раьотать... я для начала написала прогу:

#include <iostream>
#include <cmath>
#include <conio.h>
#include "functions.h"
using namespace std;


Код:
double dichotomy(double (*f)(double), double a, double b, double eps)
{
	double c;
	c=(b+a)/2;
	while (abs(f(c))<eps){
		if (f(a)*f(c)<0){
			c=(c+a)/2;
		}
		else{
			c=(c+b)/2;
		}
	}
	return f(c);	
}



int main(void)
{
	double pi=3.14;
	double a=pi-1;
	double b=pi;
	double eps=0.000000000000000001;
	double (*f)(double)=sin(double);
	cout<<dichotomy(sin(),a,b,eps)<<endl;
	getch();
}
Посмотрите, посмейтесь и скажите, как правильно её преобразовать))) Пожалуйста!!!!!
Вложения
Тип файла: txt лаба.txt (523 байт, 116 просмотров)

Последний раз редактировалось jewels; 15.11.2009 в 19:02.
jewels вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти все целые корни уравнения KREGI Помощь студентам 8 10.03.2009 18:23
Три квадратных уравнения. Найти минимальное значение среди действительных корней этих уравнений. Паскаль. GE076 Помощь студентам 2 17.12.2007 20:41
Найти все целочисленные решения уравнения 3x+4y=2z на заданном отрезке [L,R] Zmey_by_Nojabrsk Помощь студентам 3 18.10.2007 22:08
как найти корень из числа $Дмитрий Общие вопросы Delphi 7 26.04.2007 13:40