public static class Program
static object MiddleOfThree(object a, object b, object c)
var element1 = (IComparable)a;
var element2 = (IComparable)b;
var element3 = (IComparable)c;
if (element1.CompareTo(element2) > 0)
if (element1.CompareTo(element3) < 0 ) return element1;
if (element3.CompareTo(element2) > 0 ) return element3;
if (element2.CompareTo(element3) < 0 ) return element2;
if (element1.CompareTo(element3) > 0 ) return element1;
static object Min(Array array)
var bufer = (IComparable)array.GetValue(0);
for (int i=0; i<array.Length; i++)
if (bufer.CompareTo(array.GetValue(i)) > 0)
bufer = (IComparable)array.GetValue(i);
public static void Main()
Console.WriteLine("Минимальный элемент:");
Console.WriteLine(Min(new[] { 3, 6, 2, 4 }));
Console.WriteLine(Min(new[] { "B", "A", "C", "D" }));
Console.WriteLine(Min(new[] { '4', '2', '7' }));
Console.WriteLine("\nСредний элемент:");
Console.WriteLine(MiddleOfThree(2, 3, 1));
Console.WriteLine(MiddleOfThree(3, 1, 2));
Console.WriteLine(MiddleOfThree(3, 5, 9));
Console.WriteLine(MiddleOfThree("B", "Z", "A"));
Console.WriteLine(MiddleOfThree(3.45, 2.67, 3.12));