progs.biz  
Начало > C# > Основы > Урок 29
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

С. Робинсон и др C# для профессионалов.
С. Робинсон и др C# для профессионалов.
Заказать на Озоне



Яндекс-цитирования

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

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz

 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2005 сайт progs.biz
© 2002-2005 Алексеев Игорь