Основы 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".