Напишите метод Min, который бы вычислял минимальный элемент массива, используя интерфейс IComparable. public static void Main() { Console.WriteLine(Min(new[] { 3, 6, 2, 4 })); Console.WriteLine(Min(new[] { "B", "A", "C", "D" })); Console.WriteLine(Min(new[] { '4', '2', '7' })); }
```csharp
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(Min(new[] { 3, 6, 2, 4 }));
Console.WriteLine(Min(new[] { "B", "A", "C", "D" }));
Console.WriteLine(Min(new[] { '4', '2', '7' }));
}
public static T Min
{
// Инициализируем минимальное значение первым элементом массива
T min = array[0];
// Проходимся по всем элементам массива, начиная со второго
for (int i = 1; i < array.Length; i++)
{
// Сравниваем текущий элемент массива с минимальным значением
// Если текущий элемент меньше минимального, обновляем минимальное значение
if (array[i].CompareTo(min) < 0)
{
min = array[i];
}
}
// Возвращаем найденное минимальное значение
return min;
}
}
```
В этом решении используется обобщенный метод `Min`, который принимает массив `array` с элементами типа `T`, где `T` должен реализовывать интерфейс `IComparable`. Интерфейс `IComparable` обеспечивает функционал для сравнения объектов.
С помощью цикла `for` мы проходим по всем элементам массива, начиная со второго элемента (индекс 1). На каждой итерации мы сравниваем текущий элемент массива с текущим минимальным значением `min` с помощью метода `CompareTo`. Если текущий элемент меньше минимального, то мы обновляем минимальное значение.
После того, как мы пройдем по всем элементам массива, возвращаем найденное минимальное значение.
В данном примере, результаты выполнения метода `Min` будут следующими:
```
2
A
2
```
Первый пример использования метода `Min` передает массив чисел [3, 6, 2, 4]. Минимальное число в этом массиве - 2, поэтому метод вернет значение 2.
Второй пример передает массив строк ["B", "A", "C", "D"]. Строки в C# сравниваются по алфавитному порядку. Минимальное значение в этом массиве - "A", поэтому метод вернет значение "A".
Третий пример передает массив символов ['4', '2', '7']. Символы в C# также сравниваются по их числовому значению. Минимальное значение в этом массиве - '2', поэтому метод вернет значение '2'.