Информатика, вопрос задал Aillianna , 7 лет назад

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

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

Приложения:

Ответы на вопрос

Ответил petyaGavrikov
0

#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.

Приложения:
Ответил Aillianna
0
ошибка у вас в рекурсии, return не хватает
Новые вопросы