Метод половинного деления - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д