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; }