using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Metoda_bisekcji
{
class Program
{
public static double F(double x)
{
return(Math.Pow(x, 3)-4* Math.Pow(x, 2)+3* x -5);
}
public delegate double Delegata(double x);
static Delegata funkcja = F;
static double bisekcja(Delegata f, double a, double b)
{
double z =0;
bool stoper = true;
while(stoper)
{
z =(a + b)/2;
if(f(z)==0)
{
stoper = false;
break;
}
else
{
if(f(z)* f(a)<0)
{
b = z;
}
else
{
a = z;
}
}
}
return z;
}
static void Main(string[] args)
{
double a, b;
Console.WriteLine("Podaj a: ");
a = Double.Parse(Console.ReadLine());
Console.WriteLine("Podaj b: ");
b = Double.Parse(Console.ReadLine());
Console.WriteLine(bisekcja(funkcja, a, b));
Console.ReadLine();
}
}
}