Основы C#. Урок 29. Пример передачи по ссылке
На этом уроке мы напишем функцию для решения квадратного
уравнения. Эта функция будет передавать корни уравнения через
ссылку - т. е. через свои два параметра. Всего же параметров
будет пять - остальные три - это коэффициетны a, b, и c. Тип у
функции будет int - она будет возвращать фактическое число
корней (т. е. 0, 1 или 2).
Вот текст: using System;
namespace test
{
class Test
{
static int GetSolution(out double x1, out double x2, double a, double b, double c)
{
double d=b*b-4*a*c; //Дискриминант
x1=x2=0;
//Два разных корня
if(d>0)
{
x1=(-b+Math.Sqrt(d))/(2*a);
x2=(-b-Math.Sqrt(d))/(2*a);
return 2;
}
//Два совпадающих корня
if(d==0)
{
x1=-b/(2*a);
x2=-b/(2*a);
return 1;
}
//Корней нет
return 0;
}
public static void Main()
{
double x1, x2;
int n = GetSolution(out x1, out x2, 1, -5, 6);
switch(n)
{
case 1:
Console.WriteLine("Два совпадающих корня x1={0}, x2={1}", x1, x2);
break;
case 2:
Console.WriteLine("Два разных корня x1={0}, x2={1}", x1, x2);
break;
case 0:
Console.WriteLine("Корней нет");
break;
}
}
}
}
Запускаем программу. Программа должна выдать на экран "Два
разных корня x1=3,
x2=2". |