Help to supplement the program (the program is working). Each developed class should, as a rule, contain the following elements: hidden fields, constructors with and without parameters, methods, properties. I myself do not understand what is what. Thank you in advance!
using System; class Vector { public Vector(double x1, double y1, double z1) { X = x1; Y = y1; Z = z1; } public double X; public double Y; public double Z; public double Length() { return Math.Sqrt(X * X + Y * Y + Z * Z); } public static Vector operator +(Vector l, Vector r) { return new Vector(lX + rX, lY + rY, lZ + rZ); } public static Vector operator -(Vector l, Vector r) { return new Vector(lX - rX, lY - rY, lZ - rZ); } public static double operator *(Vector l, Vector r) { return (lX * rX + lY * rY + lZ * rZ); } public static double Cos(Vector l, Vector r) { return (l * r) / (l.Length() * r.Length()); } public override string ToString() { return string.Format("({0},{1},{2})", X, Y, Z); } } class Program { static void Main(string[] args) { // начальные коодинаты 1-го вектора Console.Write("Введите значение х1 вектора а: "); double xx1 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение y1 вектора а: "); double yy1 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение z1 вектора а: "); double zz1 = Convert.ToDouble(Console.ReadLine()); // конечные коодинаты 1-го вектора Console.Write("Введите значение х2 вектора а: "); double xx11 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение y2 вектора а: "); double yy11 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение z2 вектора а: "); double zz11 = Convert.ToDouble(Console.ReadLine()); // начальные коодинаты 2-го вектора Console.Write("Введите значение х1 вектора b: "); double xx2 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение y1 вектора b: "); double yy2 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение z1 вектора b: "); double zz2 = Convert.ToDouble(Console.ReadLine()); // конечные коодинаты 2-го вектора Console.Write("Введите значение х2 вектора b: "); double xx22 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение y2 вектора b: "); double yy22 = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите значение z2 вектора b: "); double zz22 = Convert.ToDouble(Console.ReadLine()); //input Vector v1 = new Vector(xx11 - xx1, yy11 - yy1, zz11 - zz1); Vector v2 = new Vector(xx22 - xx2, yy22 - yy2, yy22 - yy2); Vector v3 = v1 + v2; Vector v4 = v1 - v2; double m = v1 * v2; double c = Vector.Cos(v1, v2); double len1 = v1.Length(); double len2 = v2.Length(); int test = 0; //exeption try { len1 = v1.Length(); len2 = v2.Length(); if (len1 == 0 || len2 == 0) { throw new Exception("Вектор не может быть нулевым"); } } catch (Exception e) { Console.WriteLine("\nОшибка: " + e.Message); test = 10; } //output if (test != 10) { Console.WriteLine(); Console.Write("Вектор a: "); Console.WriteLine(v1); Console.Write("Вектор б: "); Console.WriteLine(v2); Console.Write("Вектор а+б: "); Console.WriteLine(v3); Console.Write("Вектор а-б: "); Console.WriteLine(v4); Console.Write("Вектор а*б: "); Console.WriteLine(m); Console.Write("Косинус угла между векторами a и б: "); Console.WriteLine(c); Console.Write("Длина вектора 1: "); Console.WriteLine(len1); Console.Write("Длина вектора 2: "); Console.WriteLine(len2); } Console.ReadKey(); } }