Написать программу для решения квадратных уравнений при помощи функций (main должна состоять только из их вызовов).
Вы не указали на каком языке Вам необходимо это решить. Поэтому выкладываю решение на C#.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
static double[] Solve(double A, double B, double C, out bool Fail)
Fail = false;
double D = B * B - A * C;
double[] res = new double[2];
if (D >= 0)
res[0] = (Math.Sqrt(D) + B) / (2 * A);
res[1] = (Math.Sqrt(D) - B) / (2 * A);
}
else
Fail = true;
return res;
static void Main(string[] args)
bool Fail = false;
Console.WriteLine("Введите коэффициент при x^2");
double A = Double.Parse(Console.ReadLine());
Console.WriteLine("Введите коэффициент при x");
double B = Double.Parse(Console.ReadLine());
Console.WriteLine("Введите свободный коэффициент");
double C = Double.Parse(Console.ReadLine());
double[] res = Solve(A, B, C, out Fail);
if (Fail)
Console.Write("Дискриминант меньше нуля\n");
for (int i = 0; i < res.Length; i++)
Console.Write("x{0}={1} ", i, res[i]);
Console.Write("\n");
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Вы не указали на каком языке Вам необходимо это решить. Поэтому выкладываю решение на C#.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static double[] Solve(double A, double B, double C, out bool Fail)
{
Fail = false;
double D = B * B - A * C;
double[] res = new double[2];
if (D >= 0)
{
res[0] = (Math.Sqrt(D) + B) / (2 * A);
res[1] = (Math.Sqrt(D) - B) / (2 * A);
}
else
{
Fail = true;
}
return res;
}
static void Main(string[] args)
{
bool Fail = false;
Console.WriteLine("Введите коэффициент при x^2");
double A = Double.Parse(Console.ReadLine());
Console.WriteLine("Введите коэффициент при x");
double B = Double.Parse(Console.ReadLine());
Console.WriteLine("Введите свободный коэффициент");
double C = Double.Parse(Console.ReadLine());
double[] res = Solve(A, B, C, out Fail);
if (Fail)
{
Console.Write("Дискриминант меньше нуля\n");
}
else
{
for (int i = 0; i < res.Length; i++)
{
Console.Write("x{0}={1} ", i, res[i]);
}
Console.Write("\n");
}
}
}
}