Skip to content

Latest commit

 

History

History

matrix

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Задача 4: matrix

Условие:

Требуется реализовать класс матриц над вещественными числами двойной точности.

  • Конструктор по-умолчанию, создающий единичную матрицу размера 1 x 1
  • Конструктор единичной матрицы заданного размера
    • Неквадратную матрицу инициализировать единицами на главной диагонали, нулями иначе
  • Конструктор копирования
  • Оператор присваивания
  • Методы get и set
    • В случае обращения за границы матрицы необходимо бросать OutOfBoundsException
  • Метод resize, изменяющий размер матрицы
    • В случае добавления новых значений, они должны инициализироваться нулями
  • Оператор [], который должно быть можно применить дважды, в том числе и для константных матриц
  • Операторы сложения, вычитания, умножения на скаляр и матрицу, составного присваивания; унарный плюс и минус
  • Операторы сравнения матриц на равенство
  • Методы det, transpose и transposed, trace, выполняющие соответствуюищие математические операции над матрицей
  • Методы getRow и getColumn, возвращающие заданную строчку или столбец матрицы в виде std::vector
  • Операторы потокового ввода и вывода
    • На ввод сначала подается размер матрицы, потом значения

В арифметических операциях, а также det и trace, при невозможности выполнить операцию из-за несовпадения размеров матриц, требуется бросать SizeMismatchException

Шаблон решения со всеми требуемыми определениями уже написан.

Для внутреннего хранения матрицы запрещается использовать стандартные контейнеры.

При сравнении вещественных чисел используйте предоставленную константу EPS.

Стоимость:

Задача стоит 6 баллов.

Срок сдачи:

Решения сданные позже 23:59:59 13 Октября 2020 года не принимаются.