Пример #1
0
        static void Main(string[] args)
        {
            TwoDimVector A = new TwoDimVector("A", new TwoDimPoint(0, 0), new TwoDimPoint(2, 2));
            TwoDimVector B = new TwoDimVector("B", new TwoDimPoint(0, 0), new TwoDimPoint(1, 1));

            TwoDimVector C = A + B;
            C.Name = "C";
            TwoDimVector D = A - B;
            D.Name = "D";
            TwoDimVector E = A * 2;
            E.Name = "E";
            TwoDimVector F = A / 2;
            F.Name = "F";

            Complex ComplexA = new Complex(1, -2);
            Complex ComplexB = new Complex(-3, 4);

            Complex ComplexC = ComplexA + ComplexB;
            Complex ComplexD = ComplexA - ComplexB;
            Complex ComplexE = ComplexA * ComplexB;

            Console.WriteLine("--------------------");
            Console.WriteLine("Vector's part.\n");
            Console.WriteLine(A.GetFullDescription());
            Console.Write(Environment.NewLine);

            Console.WriteLine(B.GetFullDescription());
            Console.Write(Environment.NewLine);

            Console.WriteLine("\nC = A + B");
            Console.WriteLine(C.GetFullDescription());
            Console.Write(Environment.NewLine);

            Console.WriteLine("\nD = A - B");
            Console.WriteLine(D.GetFullDescription());
            Console.Write(Environment.NewLine);

            Console.WriteLine("\nE = A * 2");
            Console.WriteLine(E.GetFullDescription());
            Console.Write(Environment.NewLine);

            Console.WriteLine("\nF = A / 2");
            Console.WriteLine(F.GetFullDescription());
            Console.Write(Environment.NewLine);

            Console.WriteLine("--------------------");
            Console.WriteLine("Complex's part.\n");
            Console.WriteLine(string.Format("Complex A = {0}", ComplexA.ToString()));
            Console.Write(Environment.NewLine);

            Console.WriteLine(string.Format("Complex B = {0}", ComplexB.ToString()));
            Console.Write(Environment.NewLine);

            Console.WriteLine("Complex C = A + B");
            Console.WriteLine(string.Format("Complex C = {0}", ComplexC.ToString()));
            Console.Write(Environment.NewLine);

            Console.WriteLine("Complex D = A - B");
            Console.WriteLine(string.Format("Complex D = {0}", ComplexD.ToString()));
            Console.Write(Environment.NewLine);

            Console.WriteLine("Complex E = A * B");
            Console.WriteLine(string.Format("Complex E = {0}", ComplexE.ToString()));
            Console.Write(Environment.NewLine);

            Console.ReadLine();
        }
 //helper method to not repeat the code for * operator
 //vector * number, number * vector and vector / number
 private static TwoDimPoint[] MultipleVector(double b, TwoDimVector a)
 {
     TwoDimPoint[] list = new TwoDimPoint[2];
     list[0] = a.Start;
     double xLenght = (a.End.X - a.Start.X) * b;
     double yLenght = (a.End.Y - a.Start.Y) * b;
     list[1] = new TwoDimPoint(a.Start.X + xLenght, a.Start.Y + yLenght);
     return list;
 }