Да ёклмн... ладно, пойдем испытанным способом.
cyber_uaВо-первых, начните новый проект. Далее, напишите функцию 
double F(double x) которая будет вычислять вашу 

 — что у вас там было, я уж не помню.
Потом напишите функцию 
bool Dichotomy(Func<double, double> func, ref double a, ref double b). На вход она получает функцию вида 
double (double x), левый конец отрезка 
a и правый конец отрезка 
b. 
Dichotomy должна работать следующим образом: если 

 — который вычисляется как 
func(a), кстати — и 

 одного знака, она должна немедленно возвратить 
false. Иначе она должна вычислить 

, 

 и далее: если 

, то 
b = x, иначе 
a = x. После этого она должна вернуть 
true.
Теперь вы пишете функцию 
bool Solve(Func<double,double> func, double a, double b, double eps, out double result). Она должна вначале определить внутренние переменные 
double _a = a, _b = b; и в цикле вызывать 
Dichotomy(func, _a, _b) — пока та возвращает 
true и 
Math.Abs(_a - _b) > eps. Если цикл закончится потому что 
Dichotomy вернула 
false, вы должны немедленно вернуть 
false, иначе присвойте 
result значение 
(_a + _b) / 2 и верните 
true.
Теперь напишите 
Main: ввод с клавиатуры 
a, 
b, 
eps, вызов 
Solve (
bool success = Solve(f, a, b, eps, out result);), вывод результатов.
Нда, даже куски кода написал... все, вперед. К концу пары я начинаю принимать зада- простите, вспомнил свою преподавательницу численных методов  

 Не самые приятные воспоминания: у нее был невероятно паршивый характер, но зато она всегда рассказывала, какие функции должны быть в готовой программе, и с какими параметрами.
-- Вт окт 30, 2012 13:59:58 --Ах да, и вдогонку: текущая версия вашей программы решает уравнение 

. Угадайте, какое у него точное решение.