예제 #1
0
        public int CompareTo(object obj)
        {
            GeomFig p = (GeomFig)obj;

            if (this.Area() < p.Area())
            {
                return(-1);
            }
            else if (this.Area() == p.Area())
            {
                return(0);
            }
            else
            {
                return(1);
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            Menu      menu      = new Menu();
            Circle    circle    = new Circle(6);
            Rectangle rectangle = new Rectangle(5, 7);
            Square    square    = new Square(6);

            while (true)
            {
                switch (menu.menu())
                {
                case 1:
                {
                    ArrayList array = new ArrayList();
                    array.Add(circle);
                    array.Add(rectangle);
                    array.Add(square);

                    foreach (var x in array)
                    {
                        Console.WriteLine(x);
                    }
                    Console.WriteLine();

                    Console.WriteLine("Сортировка");
                    array.Sort();
                    foreach (var x in array)
                    {
                        Console.WriteLine(x);
                    }
                    Console.WriteLine();
                    break;
                }

                case 2:
                {
                    List <GeomFig> list = new List <GeomFig>();
                    list.Add(circle);
                    list.Add(rectangle);
                    list.Add(square);

                    foreach (var x in list)
                    {
                        Console.WriteLine(x);
                    }
                    Console.WriteLine();

                    Console.WriteLine("Cортировка");
                    list.Sort();
                    foreach (var x in list)
                    {
                        Console.WriteLine(x);
                    }
                    break;
                }

                case 3:
                {
                    Matrix3d <GeomFig> cube = new Matrix3d <GeomFig>(3, 3, 3, null);
                    cube[0, 0, 0] = rectangle;
                    cube[1, 0, 1] = square;
                    cube[2, 2, 2] = circle;
                    Console.WriteLine(cube.ToString());
                    Console.WriteLine();
                    break;
                }

                case 4:
                {
                    SimpleStack <GeomFig> stack = new SimpleStack <GeomFig>();
                    stack.Push(rectangle);
                    stack.Push(square);
                    stack.Push(circle);

                    while (stack.Count > 0)
                    {
                        GeomFig f = stack.Pop();
                        Console.WriteLine(f);
                    }
                    Console.WriteLine();
                    break;
                }

                case 5:
                {
                    return;
                }
                }
            }
        }