Ejemplo n.º 1
0
        static void Main()
        {
            Rectangle    rect = new Rectangle();
            RectDelegate obj  = new RectDelegate(rect.GetArea);

            obj += rect.GetPerimeter;
            obj.Invoke(56.23, 23.45);
            Console.WriteLine("\n");
            //Break line
            Console.WriteLine("Good Morning");

            Traingle     trai = new Traingle();
            traiDelegate obj1 = new traiDelegate(trai.TraiArea);

            obj1.Invoke(56.36, 58.56);
            Console.WriteLine("\n");
            Console.WriteLine("Good Morning");


            TestdelegateMethod p   = new TestdelegateMethod();
            DelMethod          del = new DelMethod(p.method_1);

            // Here we have multicast
            del += new DelMethod(p.method_2);
            Console.WriteLine(del(50, 10));

            // Here again we have multicast
            del -= new DelMethod(p.method_2);
            Console.WriteLine(del(20, 10));
            Console.ReadKey();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            double p      = 0;
            double ar     = 0;
            int    count1 = 0;
            int    count2 = 0;

            Traingle[] trgl = new Traingle[10];
            Random     gen1 = new Random();

            for (int i = 0; i < trgl.Length; i++)
            {
                Point[] point = new Point[3];
                Random  gen   = new Random();
                for (int j = 0; j < 3; j++)
                {
                    point[j] = new Point(gen.Next(10), gen.Next(10));
                }
                trgl[i] = new Traingle(point[0], point[1], point[2]);

                Console.WriteLine("Три точки: ({0};{1}) ({2};{3}) ({4};{5})", point[0].x, point[0].y, point[1].x, point[1].y, point[2].x, point[2].y);

                Console.WriteLine("Периметр треугольника равен:" + trgl[i].Perimeter());
                Console.WriteLine("Площадь треугольника равна:" + trgl[i].Area());
                Console.WriteLine("Вид треугольника:" + trgl[i].GetType());

                if (trgl[i].GetType() == "прямоугольный")
                {
                    count1++;
                    p = p + trgl[i].Perimeter();
                }
                if (trgl[i].GetType() == "равнобедренный")
                {
                    count2++;
                    ar = ar + trgl[i].Area();
                }
            }

            p = p / count1;

            ar = ar / count2;

            Console.WriteLine("Средний периметр всех прямоугольных треугольников равен:", p);
            Console.WriteLine("Средняя площадь всех равнобедренных треугольников равна:", ar);

            Console.Read();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            //Concrete Regular Example
            var square = new Square(5);

            DisplayPolygon("Square", square);

            //Abstract Class example
            var traingle = new Traingle(10);

            DisplayPolygon("Traingle", traingle);

            //Interface Example
            var octagon = new Octagon(8, 5);

            DisplayPolygon("Octagon", octagon);
            Console.Read();
        }
Ejemplo n.º 4
0
        public static List <double> Trigonometry(double U, double V, double W, TrigLaw law, Traingle GET)
        {
            double A     = new double();
            double B     = new double();
            double C     = new double();
            double alpha = new double();
            double beta  = new double();
            double gamma = new double();

            switch (law)
            {
            case TrigLaw.SSS:
                A     = U;
                B     = V;
                C     = W;
                gamma = Math.Acos((A * A + B * B - C * C) / (2 * A * B));
                beta  = Math.Acos((A * A + C * C - B * B) / (2 * A * C));
                alpha = Math.Acos((B * B + C * C - A * A) / (2 * B * C));
                break;

            case TrigLaw.SAS_B_alpha_C:
                //{\displaystyle c^{2}=a^{2}+b^{2}-2ab\cos \gamma ,}
                alpha = V;
                B     = U;
                C     = W;
                A     = Math.Sqrt(B * B + C * C - (2 * B * C) * Math.Cos(alpha));
                beta  = Math.Acos((A * A + C * C - B * B) / (2 * A * C));
                gamma = Math.Acos((A * A + B * B - C * C) / (2 * A * B));
                break;
            }
            List <double> ans = new List <double>();

            switch (GET)
            {
            case Traingle.Angle:
                ans.Clear();
                ans = new List <double> {
                    alpha, beta, gamma
                };
                break;

            case Traingle.Side:
                ans.Clear();
                ans = new List <double> {
                    A, B, C
                };
                break;

            case Traingle.ALL:
                ans.Clear();
                ans = new List <double> {
                    A, B, C, alpha, beta, gamma
                };
                break;
            }
            return(ans);
        }