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

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

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

Доброго времени суток снова обращаюсь к вам за помощью возникла некоторая проблемка написал программу "Решение уравнения методом деления пополам " все хорошо и здорово она работает но надо написать указатель на функцию а с этим небольшая проблемка, помогите если это не составит вам труда вот код программы
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3. double f(double x)
  4. {
  5. return x-3;
  6. }
  7. double half(double a, double b, double eps)
  8. {
  9. double c;
  10. while(fabs(b-a)>eps)
  11. {
  12. c=(a+b)/2;
  13. if (f(a)*f(c)<=0)
  14. b=c;
  15. else a=c;
  16. }
  17. return c;}
  18. int main()
  19. {
  20. double a,b,eps,x;
  21. printf("a,b,eps: ");
  22. scanf("%lf %lf %lf", &a,&b,&eps);
  23. x=half(a,b,eps);
  24. printf("root=%lf\n",x);
  25. return 0;
  26. }
Заранее благодарен за любую помощь!!!

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. double g(double x)
  5. {
  6.     return x-3;
  7. }
  8.  
  9. double half(double a, double b, double eps, double (*f)(double))
  10. {
  11.     double c;
  12.     while(fabs(b-a)>eps)
  13.     {
  14.         c=(a+b)/2;
  15.             if (f(a)*f(c)<=0)
  16.              b=c;
  17.         else a=c;
  18.     }
  19. return c;}
  20. int main()
  21. {
  22.     double a,b,eps,x;
  23.     printf("a,b,eps: ");
  24.     scanf("%lf %lf %lf", &a,&b,&eps);
  25.     x=half(a,b,eps, g);
  26.     printf("root=%lf\n",x);
  27.     return 0;
  28. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы