Вопрос: индексатор, свойства, перегруженные операции - C#
Формулировка задачи:
Создать класс «Vector» содержащий следующие члены класса:
1. Закрытое поле – массив элементов вещественного типа (координаты вектора в пространстве)
2. конструктор класса без параметра, создающий нулевой вектор;
3. конструктор класса с параметром – длиной массива;
4. индексатор для организации доступа к элементам массива
5. свойство для чтения числа координат вектора
6. метод, вычисляющий норму вектора (его длину);
7. публичные статические методы сложения двух векторов Plus, Minus (принимает в качестве параметра 2 объекта типа Vector, возвращает новый объект типа Vector)
8. публичный статический метод скалярного произведения двух векторов Scalar (принимает в качестве параметра 2 объекта типа Vector, возвращает вещественное число);
9. перегруженные операции «+» , «-» и «*».
10. Предусмотреть обработку исключений.
Сделал 1,2,3,6,7 и 8. Соответсвенно не могу сделать 4,5,9, и 10 вообще не представляю как.
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2massiv { class DlinaVector { public int[] vector; //поле,координаты вектора в пространстве public int m;// длина массива private double[] a;// массив элементов вещ. типа public int n; public DlinaVector()//констр. обнуляюущий вектор { n=3; a = new double [n]; for (int i=1; i<=n; i++) a[i]=0; } public DlinaVector(int n)//конструктор, с параметром - длинной массива,n - кол-во элементов массива { m = n; a = new double[n]; } public void Plus(DlinaVector A, DlinaVector B)//правильно ли? { for(int i=0; i<=n-1; i++) a[i] = A.a[i] + B.a[i]; } public void Minus(DlinaVector A, DlinaVector B) { for(int i=0; i<=n-1; i++) a[i] = A.a[i] - B.a[i]; } public void Scalar(DlinaVector A, DlinaVector B) { for(int i=0; i<=n-1; i++) a[i] = A.a[i] * B.a[i]; } public void GetNorm() { double dlina = 0; for (int i = 0; i <= m - 1; i++) { dlina = dlina + Math.Pow(a[i], 2); } dlina = Math.Sqrt(dlina); Console.WriteLine("Длина вектора ={0}", dlina); } } }
Решение задачи: «Вопрос: индексатор, свойства, перегруженные операции»
textual
Листинг программы
public int[] vector; //поле,координаты вектора в пространстве private double[] a; // массив элементов вещ. типа
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д