Square Matrix v0.1.3
Loading...
Searching...
No Matches
square_matrix.hpp
1
11#ifndef SQUARE_MATRIX_HPP
12#define SQUARE_MATRIX_HPP
13
14#include <iostream>
15
17private:
18 int _size;
19 int** _data;
20 bool _isAllocated;
21
23 void allocateMemory();
24
26 void deallocateMemory();
27
31 void copyData(const SquareMatrix& other);
32
33public:
36
40 explicit SquareMatrix(int size);
41
46 SquareMatrix(int size, const int* rowData);
47
52
55
60 SquareMatrix& allocate(int size);
61
68 SquareMatrix& insert(int row, int col, int value);
69
75 int get(int row, int col);
76
81
86
91 SquareMatrix& randomize(int count);
92
97 SquareMatrix& insertMainDiagonal(const int* mainDiagonalData);
98
104 SquareMatrix& insertDiagonal(int offset, const int* diagonalData);
105
111 SquareMatrix& insertColumn(int col, const int* columnData);
112
118 SquareMatrix& insertRow(int row, const int* rowData);
119
124
129
134
139
144 SquareMatrix& operator+(const SquareMatrix& other) const;
145
150 SquareMatrix& operator*(const SquareMatrix& other) const;
151
156 SquareMatrix& operator+(int scalar) const;
157
162 SquareMatrix& operator*(int scalar) const;
163
168 SquareMatrix& operator-(int scalar) const;
169
175 friend SquareMatrix operator+(int scalar, const SquareMatrix& matrix);
176
182 friend SquareMatrix operator*(int scalar, const SquareMatrix& matrix);
183
189 friend SquareMatrix operator-(int scalar, const SquareMatrix& matrix);
190
195
200
205 SquareMatrix& operator+=(int scalar);
206
211 SquareMatrix& operator-=(int scalar);
212
217 SquareMatrix& operator*=(int scalar);
218
223 SquareMatrix& operator+=(double);
224
230 friend std::ostream& operator<<(std::ostream& os, const SquareMatrix& matrix);
231
236 bool operator==(const SquareMatrix& other) const;
237
242 bool operator>(const SquareMatrix& other) const;
243
248 bool operator<(const SquareMatrix& other) const;
249
254 bool operator!=(const SquareMatrix& other) const;
255
257 void displayFull() const;
258
260 void displayTruncated() const;
261};
262
263#endif /* SQUARE_MATRIX_HPP */
Klasa reprezentująca macierz kwadratową.
Definition square_matrix.hpp:16
SquareMatrix & operator-=(int scalar)
Odejmuje skalar od macierzy i zwraca wynik.
Definition square_matrix.cpp:416
void displayTruncated() const
Wyświetla skróconą wersję macierzy.
Definition square_matrix.cpp:542
friend SquareMatrix operator-(int scalar, const SquareMatrix &matrix)
Odejmuje macierz od skalara.
~SquareMatrix()
Destruktor, zwalnia pamięć.
Definition square_matrix.cpp:90
SquareMatrix & fillChessboardStyle()
Wypełnia macierz w stylu szachownicy.
Definition square_matrix.cpp:305
SquareMatrix & allocate(int size)
Przydziela pamięć dla macierzy o podanym rozmiarze.
Definition square_matrix.cpp:94
SquareMatrix & insertColumn(int col, const int *columnData)
Wstawia dane do kolumny.
Definition square_matrix.cpp:231
SquareMatrix & operator*=(int scalar)
Mnoży macierz przez skalar i zwraca wynik.
Definition square_matrix.cpp:426
SquareMatrix & insertDiagonal(int offset, const int *diagonalData)
Wstawia dane na przekątną o określonym przesunięciu.
Definition square_matrix.cpp:211
SquareMatrix & insertRow(int row, const int *rowData)
Wstawia dane do wiersza.
Definition square_matrix.cpp:247
SquareMatrix & randomize()
Losowo wypełnia macierz.
Definition square_matrix.cpp:150
void displayFull() const
Wyświetla pełną macierz.
Definition square_matrix.cpp:513
SquareMatrix & transpose()
Transponuje macierz.
Definition square_matrix.cpp:136
SquareMatrix()
Konstruktor domyślny, tworzy pustą macierz.
Definition square_matrix.cpp:56
friend SquareMatrix operator*(int scalar, const SquareMatrix &matrix)
Mnoży macierz przez skalar.
Definition square_matrix.cpp:394
SquareMatrix & fillOverDiagonal()
Wypełnia macierz powyżej przekątnej.
Definition square_matrix.cpp:291
int get(int row, int col)
Zwraca wartość z elementu macierzy.
Definition square_matrix.cpp:124
bool operator>(const SquareMatrix &other) const
Porównuje dwie macierze pod kątem większości.
Definition square_matrix.cpp:477
bool operator<(const SquareMatrix &other) const
Porównuje dwie macierze pod kątem mniejszości.
Definition square_matrix.cpp:493
friend SquareMatrix operator+(int scalar, const SquareMatrix &matrix)
Dodaje skalar do macierzy.
Definition square_matrix.cpp:390
SquareMatrix & fillUnderDiagonal()
Wypełnia macierz poniżej przekątnej.
Definition square_matrix.cpp:277
SquareMatrix & insertMainDiagonal(const int *mainDiagonalData)
Wstawia dane na główną przekątną macierzy.
Definition square_matrix.cpp:199
SquareMatrix & fillDiagonal()
Wypełnia macierz przekątną.
Definition square_matrix.cpp:263
SquareMatrix & operator--(int)
Zmniejsza macierz o 1.
Definition square_matrix.cpp:402
SquareMatrix & operator+=(int scalar)
Dodaje skalar do macierzy i zwraca wynik.
Definition square_matrix.cpp:406
friend std::ostream & operator<<(std::ostream &os, const SquareMatrix &matrix)
Wypisuje macierz na standardowe wyjście.
Definition square_matrix.cpp:446
SquareMatrix & insert(int row, int col, int value)
Wstawia wartość do elementu macierzy.
Definition square_matrix.cpp:110
bool operator!=(const SquareMatrix &other) const
Porównuje dwie macierze pod kątem nierówności.
Definition square_matrix.cpp:509
SquareMatrix & operator++(int)
Zwiększa macierz o 1.
Definition square_matrix.cpp:398
bool operator==(const SquareMatrix &other) const
Porównuje dwie macierze pod kątem równości.
Definition square_matrix.cpp:461