namespace LR_25_НомерВарианта
public string destination;
public Train(int number, string destination, int count)
this.destination = destination;
public new string ToString()
return "Номер: "+ number +"\nПункт назначения: " + destination + "\nСвободные места: " + count;
public new bool Equals(object obj)
Train train = (Train)obj;
if (train.count == this.count && train.destination == this.destination && train.number==this.number)
public abstract double Area();
public abstract double Perimeter();
public abstract void Output();
public abstract string Name { get; }
public override double Area()
public override double Perimeter()
public override string Name
public override void Output()
Console.WriteLine("Сторона: {0}\nПлощадь = {1}\nПериметр = {2}\nНазвание фигуры: {3}",a,Area(),Perimeter(),Name) ;
class ExtendedRandom : Random
public Array GetArray(int count)
int[] arr = new int[count];
Random rnd = new Random();
for (int i = 0; i < arr.Length; i++)
public static void Main()
Train moscow = new Train();
Train piter = new Train(23, "Петербург", 13);
Train moscow2 = new Train();
Console.WriteLine(moscow.ToString());
Console.WriteLine(moscow.number);
if (moscow.Equals(piter))
Console.WriteLine("Совпадают");
Console.WriteLine("Не совпадают");
if (moscow.Equals(moscow2))
Console.WriteLine("Совпадают");
Console.WriteLine("Не совпадают");
Square square = new Square(2);
ExtendedRandom random = new ExtendedRandom();
foreach (var item in random.GetArray(10))