Метод деления отрезка пополам - 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; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление переменных: a=1, b=2, c, e, t
- Вывод сообщения и запрос на ввод значения переменной e
- Вычисление значения переменной c как среднего арифметического a и b
- Запуск цикла while для деления отрезка пополам
- Вычисление значения переменной t как произведения (aaa-a) и (ccc-c)
- Проверка значения переменной t и присваивание a значения c, если t положительно
- Проверка значения переменной t и присваивание b значения c, если t отрицательно
- Проверка условия окончания цикла while и выход из цикла, если условие не выполняется
- Проверка условия (ccc-c) не равно нулю и установка значения c равным (a+b)/2
- Вывод значения переменной c
- Возврат значения 0, завершающий работу программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д