static void Output(double a1, double b1, double a2, double b2, bool isIterative) { var EqSolver = new EquationSolver(a1, b1); if (isIterative) { Console.WriteLine("Method of Successive Approximations\n"); } else { Console.WriteLine("NewtonRaphson method\n"); } Console.WriteLine("First root of the equation"); Console.WriteLine(" _________________________________________________"); Console.WriteLine("| | | |"); Console.WriteLine("| eps | Root value | Absolute Error |"); Console.WriteLine("|________|__________________|_____________________|"); double x, Eps = 0.01; for (int i = 0; i <= 4; i++) { x = isIterative? EqSolver.SuccessiveApproximations_method(Eps):EqSolver.NewtonRaphson_method(Eps); Console.Write("{0, -9}", $"|{Eps}"); Console.Write("{0, -19}", $"|{x}"); Console.Write("{0, -22}", $"|{EqSolver.Error}"); Console.Write("{0, -3}", "| "); Console.WriteLine(); Eps *= 0.001; } Console.WriteLine("|________|__________________|_____________________|"); EqSolver.a = a2; EqSolver.b = b2; Console.WriteLine("Second root"); Console.WriteLine(" _________________________________________________"); Console.WriteLine("| | | |"); Console.WriteLine("| eps | Root value | Absolute Error |"); Console.WriteLine("|________|__________________|_____________________|"); Eps = 0.01; for (int i = 0; i <= 4; i++) { x = isIterative ? EqSolver.SuccessiveApproximations_method(Eps) : EqSolver.NewtonRaphson_method(Eps); Console.Write("{0, -9}", $"|{Eps}"); Console.Write("{0, -19}", $"|{x}"); Console.Write("{0, -22}", $"|{EqSolver.Error}"); Console.Write("{0, -3}", "| "); Console.WriteLine(); Eps *= 0.001; } Console.WriteLine("|________|__________________|_____________________|"); }
static void CompareOuput(double a, double b) { var EqSolver = new EquationSolver(a, b); Console.WriteLine("Methods comparison (first root)"); Console.WriteLine(" _________________________________________________________"); Console.WriteLine("| | Number of iterations | Number of iterations |"); Console.WriteLine("| eps |by Succ-Approxs method| by NewtonRaphson method |"); Console.WriteLine("|________|______________________|_________________________|"); double Eps = 0.01; int it1, it2; for (int i = 0; i <= 4; i++) { EqSolver.SuccessiveApproximations_method(Eps); it1 = EqSolver.iteration_count; EqSolver.NewtonRaphson_method(Eps); it2 = EqSolver.iteration_count; Console.Write("{0, -9}", $"|{Eps}"); Console.Write("{0, -23}", $"|{it1}"); Console.Write("{0, -26}", $"|{it2}"); Console.Write("{0, -3}", "| "); Console.WriteLine(); Eps *= 0.001; } Console.WriteLine("_________|______________________|_________________________|"); }