Сейчас на сайте:
Пользователей: 0
Отсутствуют.
Роботов: 2
Googlebot, Yandex
Гостей: 73
Всех: 75
ВНИМАНИЕ! Конкурс по программированию!
Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.
Информация к новости
- Просмотров: 2669
- Автор: КазКиберГетик
Урок 29. Пример передачи по ссылке
Категория: Программирование » C# » Уроки C#
На этом уроке мы напишем функцию для решения квадратного уравнения. Эта функция будет передавать корни уравнения через ссылку – т. е. через свои два параметра. Всего же параметров будет пять – остальные три – это коэффициетны 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;
}
}
}
}
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″.
Вернуться
Комментариев: 0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




