Top.Mail.Ru
Ответы

Как реализовать лучше класс Matrix C++?

template<typename field, size_t rows, size_t columns>
class Matrix{
public:
Matrix(){
Matrix(field matrix[rows][columns])
Matrix operator+ (const Matrix& matrix)
Matrix operator- (const Matrix& matrix)
Matrix operator* (const Matrix& matrix)
private:
field matrix[rows][columns];
};

Встает вопрос: Как реализовать лучше умножение матрицу на матрицу, в случае если columns и Rows будут меняться. В плане, зная, что матрица будет 3 на 3, мы можем спокойно написать формулу для каждого члена матрицы, но что делать в случае, если матрица будет n на m, и как в данном случае лучше реализовать проверку на возможность переумножения матриц с заданными размерами. Мы же не можем просто взять и перемножить матрицы m на n и m на n

По дате
По Рейтингу
Аватар пользователя
Новичок
10мес

Предварительно проверять на совместимость

123
 bool is_compatibility() const { 
    return rows == columns; 
} 
Аватар пользователя
Просветленный
10мес

Исключение можно кинуть если матрицы несовместимы