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

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

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

Доброго времени суток, друзья! Прошу Вас помочь мне в одной задаче. Собственно задача заключается в следующем, необходимо написать программу на языке С (не С++) для вычисления ∛3 методом деления отрезка пополам. Пытался мучился, но никак не получается, попробовал решить cosx=x, сделал получилось, а вот с этим проблемы, пожалуйста помогите, подкиньте идейки. Язык изучаю недавно, поэтому, если Вам не составит труда написать все более понятнее. Буду очень благодарен, тем людям кто хоть как-то сможет мне помочь! Спасибо за внимание! Вот программа с cosx=x, должна быть правильная по идеи:
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main (void)
  4. {
  5. float a=0,b=2,c,e,t;
  6. printf("Enter e>0");
  7. scanf("%f",&e);
  8. c=(a+b)/2;
  9. while (((cos(c)-c)!=0)&&((b-a)>=e))
  10. {
  11. c=(a+b)/2;
  12. t=(cos(c)-a)*(cos(c)-c);
  13. if(t>0)
  14. a=c;
  15. if(t<0)
  16. b=c;
  17. }
  18. if((cos(c)-c)!=0)
  19. c=(a+b)/2;
  20. printf("c=%g",c);
  21. return 0;
  22. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2. int main (void)
  3. {
  4.     float a=1,b=2,c,e,t;
  5.     printf("Enter e=");
  6.     scanf("%f",&e);
  7.     c=(a+b)/2;
  8.     while ((c*c*c-3!=0)&&((b-a)>=e))
  9.     {
  10.         c=(a+b)/2;
  11.         t=((a*a*a-a)*(c*c*c-c));
  12.         if(t>0)
  13.         a=c;
  14.         if(t<0)
  15.         b=c;
  16.     }
  17.  
  18.     if((c*c*c-c)!=0)
  19.     c=(a+b)/2;
  20.     printf("c=%g",c);
  21.     return 0;
  22. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы