Метод деления отрезка пополам - C (СИ)

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

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

Доброго времени суток, друзья! Прошу Вас помочь мне в одной задаче. Собственно задача заключается в следующем, необходимо написать программу на языке С (не С++) для вычисления ∛3 методом деления отрезка пополам. Пытался мучился, но никак не получается, попробовал решить cosx=x, сделал получилось, а вот с этим проблемы, пожалуйста помогите, подкиньте идейки. Язык изучаю недавно, поэтому, если Вам не составит труда написать все более понятнее. Буду очень благодарен, тем людям кто хоть как-то сможет мне помочь! Спасибо за внимание! Вот программа с cosx=x, должна быть правильная по идеи:
#include <stdio.h>
#include <math.h>
int main (void)
 
{
    float a=0,b=2,c,e,t;
    printf("Enter e>0");
    scanf("%f",&e);
    c=(a+b)/2;
    while (((cos(c)-c)!=0)&&((b-a)>=e))
    {
        c=(a+b)/2;
        t=(cos(c)-a)*(cos(c)-c);
        if(t>0)
        a=c;
        if(t<0)
        b=c;
    }
 
    if((cos(c)-c)!=0)
    c=(a+b)/2;
    printf("c=%g",c);
 
    return 0;
}

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

textual
Листинг программы
#include <stdio.h>
int main (void)
{
    float a=1,b=2,c,e,t;
    printf("Enter e=");
    scanf("%f",&e);
    c=(a+b)/2;
    while ((c*c*c-3!=0)&&((b-a)>=e))
    {
        c=(a+b)/2;
        t=((a*a*a-a)*(c*c*c-c));
        if(t>0)
        a=c;
        if(t<0)
        b=c;
    }
 
    if((c*c*c-c)!=0)
    c=(a+b)/2;
    printf("c=%g",c);
    return 0;
}

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

  1. Подключение стандартной библиотеки ввода-вывода
  2. Объявление переменных: a=1, b=2, c, e, t
  3. Вывод сообщения и запрос на ввод значения переменной e
  4. Вычисление значения переменной c как среднего арифметического a и b
  5. Запуск цикла while для деления отрезка пополам
  6. Вычисление значения переменной t как произведения (aaa-a) и (ccc-c)
  7. Проверка значения переменной t и присваивание a значения c, если t положительно
  8. Проверка значения переменной t и присваивание b значения c, если t отрицательно
  9. Проверка условия окончания цикла while и выход из цикла, если условие не выполняется
  10. Проверка условия (ccc-c) не равно нулю и установка значения c равным (a+b)/2
  11. Вывод значения переменной c
  12. Возврат значения 0, завершающий работу программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы