Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 83 стр.

UptoLike

82
количестве нулевых элементов. В этом случае матрицу можно хранить в виде
списка, содержащего только ненулевые элементы.
Для представления разреженной матрицы можно использовать
следующую систему классов:
класс для хранения одного элемента матрицы, который содержит
индексы этого элемента и его значение (MatrixElement);
класс представления всей матрицы в виде списка, содержащий размеры
матрицы, количество ненулевых элементов и список ненулевых
элементов матрицы (MatrixList);
классы исключений BadIndexException, BadDimension-
Exception, NonSquareMatrixException.
Для класса «Элемент матрицы» (MatrixElement) требуется
определить только конструктор, инициализирующий индексы элемента
матрицы и его значение, а также свойства для доступа к индексам элемента и
его значению. Заметим, что индексы элемента должны быть доступны только
для чтения.
// класс для хранения одного элемента матрицы
class MatrixElement
{
// индексы элемента матрицы
int i, j;
// значение элемента матрицы
double val;
// конструктор элемента матрицы
public MatrixElement(int i1, int j1, double v)
{
i = i1;
j = j1;
val = v;
}
// свойство получения номера строки элемента
public int I
{
get { return i; }
}
// свойство получения номера столбца элемента
public int J
{
get { return j; }
}
количестве нулевых элементов. В этом случае матрицу можно хранить в виде
списка, содержащего только ненулевые элементы.
     Для представления разреженной матрицы можно использовать
следующую систему классов:
    класс для хранения одного элемента матрицы, который содержит
      индексы этого элемента и его значение (MatrixElement);
    класс представления всей матрицы в виде списка, содержащий размеры
      матрицы, количество ненулевых элементов и список ненулевых
      элементов матрицы (MatrixList);
    классы исключений BadIndexException, BadDimension-
      Exception, NonSquareMatrixException.
      Для класса «Элемент матрицы» (MatrixElement) требуется
определить только конструктор, инициализирующий индексы элемента
матрицы и его значение, а также свойства для доступа к индексам элемента и
его значению. Заметим, что индексы элемента должны быть доступны только
для чтения.

   // класс для хранения одного элемента матрицы
   class MatrixElement
   {
      // индексы элемента матрицы
      int i, j;
      // значение элемента матрицы
      double val;

      // конструктор элемента матрицы
      public MatrixElement(int i1, int j1, double v)
      {
         i = i1;
         j = j1;
         val = v;
      }

      // свойство получения номера строки элемента
      public int I
      {
         get { return i; }
      }


      // свойство получения номера столбца элемента
      public int J
      {
         get { return j; }
      }

                                                                        82