Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2021, 16:53   #11
buk_bear
Пользователь
 
Регистрация: 09.12.2021
Сообщений: 10
По умолчанию

Вот решение:
Код:
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;
 
const float eps = 1e-5;
 
float f(const float x)
{
    return x*x*x-8*x*x+11*x+20;
}
 
float Root(const float a, const float b)
{
    if(f(a)*f(b) > 0)
    {
        return log(-1);
    }
    if(fabs(a-b) < eps)
    {
        return (a + b)/2;
    }
    else
    {
        if (f(a)*f((a+b)/2) < 0)
        {
            return Root(a, (a+b)/2);
        }
        else
        {
            return Root((a+b)/2, b);
        }
    }
}
 
int main()
{
	cout<<"Roots"<<endl;
    cout<<setprecision(6)<<Root(-4, 3)<<endl;
    cout<<setprecision(6)<<Root(3, 4.5)<<endl;
    cout<<setprecision(6)<<Root(4.5, 8)<<endl;
}
buk_bear вне форума Ответить с цитированием
Старый 14.12.2021, 20:05   #12
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Код:
   if(f(a)*f(b) > 0)
    {
        return log(-1);
    }
Это чтобы не выдавать сообщение "Корень не найден" воспользовались системным сообщением об ошибке? Однако... Ну и что хорошего? При первой же неудаче прога вылетает, вместо того, чтоб выдать сообщение и продолжать искать других корней.
И даже рекурсия! Могучий источник для сдирания найден. Жаль - препод не впечатлится, потребует объяснить.

Последний раз редактировалось digitalis; 14.12.2021 в 20:15. Причина: бэз причины
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ - Метод деления отрезка пополам (работа с массивами) Fazer77777 Помощь студентам 0 21.02.2015 14:34
метод деления отрезка пополам relyativus Помощь студентам 1 09.12.2011 21:16
Метод деления отрезка пополам Витяака Помощь студентам 2 23.12.2010 11:42
Метод деления отрезка пополам Delphi lordve Помощь студентам 0 06.12.2009 23:57
Вычисление корня уравнения методом деления отрезка пополам Absent Помощь студентам 12 25.11.2007 17:54