Показать сообщение отдельно
Старый 03.05.2012, 18:59   #15
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: Абстрактный класс и наследование

Сообщение от pax Посмотреть сообщение
Переведи задание на русский, я украинский не особо понимаю.
1. Создать пространство имен Algebra.
2. Разработать класс Vector манипуляции с векторами действительных чисел. У
этого класса должно быть два поля: count (тип int) - количество элементов в
массиве и data (массив типа double) - массив с данными. Создать конструкторы:
public Vector (long n), который резервирует память для массива из n элементов,
public Vector (long n, double init), который резервирует память для массива из n
элементов и инициализирует каждый элемент значением init и
public Vector (double [] arr), который создает копию массива arr10. Перегрузить операции суммы, разности,
векторного произведения и доступа по индексу. Реализовать методы: int size (),
который возвращает количество элементов в массиве, double abs (), который возвращает корень из
суммы квадратов координат вектора (при реализации обязательно использовать
оператор foreach), void read () и void write (), которые, соответственно, делают
консольный ввод и вывод массива.
3. Создать абстрактный класс Matrix, в котором объявить абстрактные
операции суммы, разности, произведения, доступа по индексу, методы void read () и
void write ().
4. Создать класс RectMatrix, который уточняет (есть потомком) класс Matrix. В
классе RectMatrix объявить поля rows (тип int) - количество строк в матрице,
cols (тип int) - число столбцов матрицы и data (массив типа Vector). В
классе RectMatrix необходимо реализовать все абстрактные операции и методы класса
Matrix.
5. Создать класс QuadMatrix, который уточняет (есть потомком) класс
RectMatrix, и добавляет рекурсивный метод вычисления определителя квадратной матрицы. Для определения количества элементов в массиве arr можно воспользоваться операцией arr.GetLength (0)
6. Создать класс SymmetricMatrix, который уточняет (есть потомком) класса QuadMatrix. Класс SymmetricMatrix предназначен для хранения симметричных матриц, поэтому необходимо создать соответствующие конструкторы и перезагрузить операцию доступа по индексу из расчета, что поле data - ленточная матрица, которая сохраняет только верхнюю половины матрицы.
7. Разработать класс Cramer, который состоит из двух полей: matrix (тип
QuadMatrix) - матрица СЛАУ и vector (тип Vector), который предназначен для решения СЛАУ методом Крамера.
8. Привести примеры применения разработанных методов.
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием