src/
: Contains the source code files for the matrix calculator.examples/
: Includes example files for loading matrices.assets/
: Holds images and documentation files.Makefile
: Used for building the project.Doxyfile
: Configuration file for generating documentation with Doxygen.DOCUMENTATION.md
: Additional documentation for the project.README.md
: The main README file for the project.
- Language: C++
- Paradigm: Object-Oriented Programming (OOP)
- Techniques: Polymorphism, Inheritance, Encapsulation
- Libraries: STL (Standard Template Library)
- Tools: Makefile, Doxygen
- Concepts: Dense and Sparse Matrices, Effective Memory Usage
- Other: Parsers, Various Algorithms
Basic operations:
- โ Addition.
- โ Subtraction.
- โ๏ธ Multiplication/multiplication by a constant.
- โ๏ธ Trimming/joining matrices.
- ๐ Vertical/Horizontal join of matrices.
- ๐ Loading the matrix from the formatted file.
- โ๏ธ Changing the entered matrix by the console or file input.
- ๐ฅ๏ธ Output of the matrix to the console or to the file.
Advanced linear operations:
- ๐ Transposition.
- ๐ Finding the inverse matrix.
- ๐งฎ Search for a determinant.
- ๐ Gaussian elimination.
- Console application.
- User and file input processing.
- Support for the above operations, also read the documentation.
- Error output depending on the problem encountered.
- To load a matrix from a file, it must be formatted as files in the
examples/
folder.
- 2 types of matrices โ dense and sparse, for efficient storage of internal elements, depending on the number of non-zero elements.
- The
getElement
function to get the desired element from the matrix, depending on its type. - The
print
function to output the matrix to the console, depending on its type. - The
save
function to save the matrix to a file depending on its type.
I created a console calculator for performing basic operations on different matrices. It will be possible to interact with the program by entering commands such as ADD
, SUBTRACT
, MULTIPLY
, TRANSPOSE
, DETERMINANT
, and others. When starting the calculator, the user will be greeted with a welcome message and a short guide to using the program. While working with the calculator, in case of incorrect input or other issues, the program will notify the user of the exceptions that have occurred. It will also be possible to terminate the program using a specific command.