profile
Опубликовано 5 лет назад по предмету Информатика от Aillianna

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

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

  1. Ответ
    Ответ дан petyaGavrikov

    #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 = %fn",Func(a,b));

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

       return 0;

    }

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

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

    1. Ответ
      Ответ дан Aillianna
      ошибка у вас в рекурсии, return не хватает
Самые новые вопросы