Метод половинного деления - C# (188264)
Формулировка задачи:
Ребят помогите пожалуйста составить программу, чтобы найти все корни уравнения
x^3 + 12 = x(3x − 4)
u
все что смог сделать, опираясь на пример, но не думаю что это правильно и как бы там не было мне нужен на методе половинного деления или метод хорда, Помогите сделать
sing System;
namespace ConsoleApplicationl
{ class Classl
{ static void Main()
{
string buf;
Console.WriteLine("Введите x");
buf=Console.ReadLine();
double x=Convert.ToDouble(buf);
double (x * x * x) + 12 = x * (3x в€’ 4);
Console.WriteLine("х= ", x);
Console.WriteLine("Результат ="); }}}Решение задачи: «Метод половинного деления»
textual
Листинг программы
static void Main(string[] args)
{
Double a, b, c=0, fa, fb,fc, Eps;
Int32 Lich=0;
Console.Write("Enter a: ");
a = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter b: ");
b = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter Eps: ");
Eps = Convert.ToDouble(Console.ReadLine());
fa = f(a);
fb = f(b);
if (Math.Abs(fa) < Eps) {
Lich = 1;
c = a;
goto m;
}
else
if (Math.Abs( fb) < Eps)
{
Lich = 1;
c = b;
goto m;
}
else
if (fa * fb > 0)
{
Console.WriteLine("No roots inside this interval!!!");
goto m2;
}
Lich = 0;
do
{
c = (a + b) / 2;
fc = f(c);
Lich++;
if (Math.Abs( f(c)) < Eps) break;
if (fa * fc > 0) { a=c; }
else b=c;
} while ((b-a>Eps)&& (fa*fb<0));
m:Console.WriteLine("Root: {0} podiliv: {1}",c,Lich);
m2:Console.Read();
}
static Double f(Double x)
{
return x * x - 4;
}