# Лабораторная работа "Функции (методы)"

## Оформление XML-комментариев

При оформлении отчета необходимо использовть [XML-комментарии](./t3l1.md#документация-xml), например:

```cs
/// <summary>
/// Метод возвращает сумму двух целых чисел
/// </summary>
/// <param name="a">Первое слагаемое</param>
/// <param name="b">Второе слагаемое</param>
/// <example>
/// <code>
/// int c = Sum(2, 2);
/// </code>
/// </example>
/// <returns>
/// Сумму двух целых чисел
/// </returns>
static int Sum(int a, int b) => a + b;
```

## Задания

1. Треугольник задан координатами своих вершин. Составить
программу для вычисления его площади.

1. Составить программу для нахождения наибольшего общего
делителя четырех натуральных чисел.

1. Составить программу для нахождения наименьшего общего
кратного трех натуральных чисел.

1. Написать программу для нахождения суммы большего и мень­шего из трех чисел.

1. Составить программу, которая в массиве `A[N]` находит второе по величине число (вывести на печать число, которое мень­ше максимального элемента массива, но больше всех других элементов).

1. Вася родился 12 декабря в 1991 году. В 2011 году он обнаружил, что если взять разность суммы квадратов цифр года (`1991`) его рождения и квадрата дня (`12`) рождения, то получается число, равное его возрасту (`20`). Вася захотел узнать, какие еще дни рождения `XX` века будут обладать таким же свойством в заданный N-ый год `XXI` века.

1. Распаковка строки

    Будем рассматривать только строчки, состоящие из заглавных английских букв. Например, рассмотрим строку `AAAABCCCCCDDDD`. Длина этой строки равна `14`. Поскольку строка состоит только из английских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений. Таким образом, данная строка может быть представлена как `4AB5C4D`. Длина такой строки `7`. Описанный метод мы назовем упаковкой строки.

    Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.

1. Быки и коровы

    Петя и Вася часто играют в различные логические игры. Недавно Петя поведал Васе о новой игре «Быки и коровы» и теперь они играют в эту игру сутками. Суть игры очень проста: Петя загадывает четырехзначное число, состоящее из различных цифр. Вася отгадывает задуманное Петей число, перебирая возможные варианты. Каждый раз Вася предлагает вариант своего числа, а Петя делает Васе подсказку: сообщает количество быков и коров, после чего Вася с учетом подсказки продолжает отгадывание числа до тех пор, пока не отгадает. 
    
    Быки – это количество цифр в предложенном Васей числе, совпадающих по значению и стоящих в правильной позиции в задуманном Петей числе. Коровы – количество цифр, совпадающих по значению, но находящихся в неверной позиции. Например, если Петя задумал число `5671`, а Вася предложил вариант `7251`, то число быков равно `1` (только цифра `1` на своем месте), а число коров равно `2` (только цифры `7` и `5` не на своих местах). Петя силен в математике, но даже он может ошибаться. Помогите Пете написать программу, которая бы по загаданному Петей и предложенному Васей числам сообщала количество быков и коров.

