• На языке программирования С !
    Задача 2
    При выполнении этой задачи, необходимо сделать алгоритмы и программы с использованием рекурсии. Необходимо принимать во внимание граничные условия выхода из рекурсии.

    Путем деления сегмента в пополам найти с точностью 0,0001 корень уравнения

    question img

Ответы 2

  • ошибка у вас в рекурсии, return не хватает
  • #include <math.h>

    #include <stdio.h>

    const float eps=0.0001;

    float F(double x){

    return cos(2.0/x)-2*sin(1.0/x)+1.0/x;

    }

    float Func(double a, double b)

    {

    float x=(a+b)/2;

    float y=F(x);

    if (fabs(y)<eps) return x;

    else if (F(a)*y<0) Func(a,x);

    else Func(x,b);

    }

    int main()

    {

       float a, b;

       printf("a = ");

    scanf("%f",&a);

       printf("b = ");

    scanf("%f",&b);

    if (F(a)*F(b)<0) printf("x = %f",Func(a,b));

    else printf("Нет сходимости");

       return 0;

    }

    Пример - в прилагаемом файле.

    PS. Без анализа деления на 0.

    answer img
    • Автор:

      archie
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years