Skip to content

реализована библиотека matrix для работы с матрицами на языке C++

Notifications You must be signed in to change notification settings

Stepan229/Matrix-CPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

s21_matrix+

Реализация библиотеки s21_matrix_oop.h

Contents

Introduction

В данном проекте реализована библиотека для работы с матрицами, но на этот раз используя объектно-ориентированный подход. Объектно-ориентированный подход позволяет реализовать библиотеку для работы с матрицами в виде отдельного класса, над объектами которого определены операции, представленные как методами, так и стандартными операторами +, -, * и т.д.

Операции над матрицами

Ниже представлено краткое описание операций над матрицами, которые необходимо реализовать в разрабатываемой библиотеке.

Операция Описание Исключительные ситуации
bool EqMatrix(const Matrix& other) Проверяет матрицы на равенство между собой.
void SumMatrix(const Matrix& other) Прибавляет вторую матрицы к текущей различная размерность матриц.
void SubMatrix(const Matrix& other) Вычитает из текущей матрицы другую различная размерность матриц.
void MulNumber(const double num) Умножает текущую матрицу на число.
void MulMatrix(const Matrix& other) Умножает текущую матрицу на вторую. число столбцов первой матрицы не равно числу строк второй матрицы.
Matrix Transpose() Создает новую транспонированную матрицу из текущей и возвращает ее.
Matrix CalcComplements() Вычисляет матрицу алгебраических дополнений текущей матрицы и возвращает ее. Матрица не является квадратной.
double Determinant() Вычисляет и возвращает определитель текущей матрицы. Матрица не является квадратной.
Matrix InverseMatrix() Вычисляет и возвращает обратную матрицу. Определитель матрицы равен 0.

Также реализованы конструкторы и деструкторы:

Метод Описание
Matrix() Базовый конструктор, инициализирующий матрицу некоторой заранее заданной размерностью.
Matrix(int rows, int cols) Параметризированный конструктор с количеством строк и столбцов.
Matrix(const Matrix& other) Конструктор копирования.
Matrix(Matrix&& other) Конструктор переноса.
~Matrix() Деструктор.

Также перегружены следующие операторы, частично соответствующие операциям выше:

Оператор Описание Исключительные ситуации
+ Сложение двух матриц. Различная размерность матриц.
- Вычитание одной матрицы из другой. Различная размерность матриц.
* Умножение матриц и умножение матрицы на число. Число столбцов первой матрицы не равно числу строк второй матрицы.
== Проверка на равенство матриц (EqMatrix).
= Присвоение матрице значений другой матрицы.
+= Присвоение сложения (SumMatrix). Различная размерность матриц.
-= Присвоение разности (SubMatrix). Различная размерность матриц.
*= Присвоение умножения (MulMatrix/MulNumber). Число столбцов первой матрицы не равно числу строк второй матрицы.
(int i, int j) Индексация по элементам матрицы (строка, колонка). Индекс за пределами матрицы.

About

реализована библиотека matrix для работы с матрицами на языке C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published