#ifndef MATRIX_H
#define MATRIX_H

#include <vector>
#include <iomanip>
#include <algorithm>
#include <iostream>
using namespace std;

class Matrix{
  private:
    int row, column;
    vector <double> coefficient;
  public:
    Matrix();
    Matrix(int row, int column, vector<double>);

    void setMatrix(int row, int column, vector<double> coefficient);
    vector<double> getCoefficient() const;
    int getRow() const;
    int getColumn() const;

    void operator()();

    bool isAddable(const Matrix& matrix);
    bool isSubstractable(const Matrix& matrix);
    bool isMultipliable(const Matrix& matrix);

    Matrix operator+(const Matrix& matrix);
    Matrix operator-(const Matrix& matrix);
    Matrix operator*(const Matrix& matrix);
};

#endif