Перед початком роботи прочитайте License agriment
Інформацію про авторі вможна знайти тут
На основі шаблону проекту «VectorAndMatrixEducationProject» у класах Vector та Matrix реалізувати не обхідний функціонал для роботи з векторами та матрицями довільного розміру.
Для векторів реалізувати:
1. Конструктор за замовченням, що створює вектор у тривимірному просторі;
2. Конструктор з цілочисельним параметром, що створює вектор відповідного розміру;
3. Конструктор з параметром, що створює вектор на основі вже створенного масиву;
4. Методи для додавання, віднімання та скалярного добутку векторів;
5. Оператори для додавання, віднімання та скалярного добутку векторів;
6. Оператори для множення вектора на число та числа на вектор;
7. Метод що перетворює вектор на рядок;
9. Відкриту властивість, що повертає розмірніть вектора;
10. Індексатор, що дозволяє зчитувати або встановлювати значення елементів вектору;
11. Властивість що повертає посилання на масив.
Для матриць реалізувати:
1. Конструктор за замовченням, що створює матрицю 3х3;
2. Конструктор з цілочисельними параметрами, що створюють матрицю з відповідною кількістю рядків та стовпчиків;
3. Конструктор з параметром, що створює матрицю на основі вже існуючого двовимірного масиву;
4. Методи для додавання, віднімання та добутку матриць;
5. Оператори для додавання, віднімання та добутку матриць;
6. Оператори для множення вектора на матрицю та матриці на вектор;
7. Оператори для множення числа на матрицю та матриці на число;
8. Метод що перетворює матрицю на рядок;
9. Відкриті властивості, що повертають кількість рядків та стовпчиків матриці;
10. Індексатор, що дозволяє зчитувати або встановлювати значення елементів матриці;
11. Властивість що повертає посилання на двовимірний масив.
Під час реалізації програми необхідно врахувати, що з точки зору математики додавання (віднімання, скалярний добуток) двох векторів різного розміру є неприпустимим. Тому при спробі здійснення зазначених операцій над векторами різного розміру, метод має генерувати виключну ситуацію InvalidOperationException(). Аналогічним чином слід реалізовувати операції з матрицями.
Правильність реалізації методів перевірити за допомогою Unit тестів.