Решение уравнения методом деления пополам - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток снова обращаюсь к вам за помощью возникла некоторая проблемка написал программу "Решение уравнения методом деления пополам " все хорошо и здорово она работает но надо написать указатель на функцию а с этим небольшая проблемка, помогите если это не составит вам труда вот код программы
#include <stdio.h>
#include <math.h>
 
double f(double x)
{
    return x-3;
}
 
double half(double a, double b, double eps)
{
    double c;
    while(fabs(b-a)>eps)
    {
        c=(a+b)/2;
            if (f(a)*f(c)<=0)
             b=c;
        else a=c;
    }
return c;}
int main()
{
    double a,b,eps,x;
    printf("a,b,eps: ");
    scanf("%lf %lf %lf", &a,&b,&eps);
    x=half(a,b,eps);
    printf("root=%lf\n",x);
    return 0;
}
Заранее благодарен за любую помощь!!!

Решение задачи: «Решение уравнения методом деления пополам»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
double g(double x)
{
    return x-3;
}
 
double half(double a, double b, double eps, double (*f)(double))
{
    double c;
    while(fabs(b-a)>eps)
    {
        c=(a+b)/2;
            if (f(a)*f(c)<=0)
             b=c;
        else a=c;
    }
return c;}
int main()
{
    double a,b,eps,x;
    printf("a,b,eps: ");
    scanf("%lf %lf %lf", &a,&b,&eps);
    x=half(a,b,eps, g);
    printf("root=%lf\n",x);
    return 0;
}

Объяснение кода листинга программы

  1. В функции main() программа запрашивает у пользователя значения переменных a, b и eps с помощью функции scanf().
  2. Значения переменных a, b и eps сохраняются в соответствующих переменных.
  3. Вызывается функция half(a,b,eps,g), которая решает уравнение методом деления пополам.
  4. Результат вычисления функции half() сохраняется в переменной x.
  5. С помощью функции printf() выводится на экран значение переменной x, которое является корнем уравнения.
  6. Программа завершается с кодом 0, что означает успешное выполнение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы