text: #pragma once
  
  #include "size.hh"
  #include "vector.hh"
  #include <iostream>
  #include <cstdlib>
  #include <cmath>
  
  
  class Matrix {
  
  private:
      double value[SIZE][SIZE];               // Wartosci macierzy
  
  public:
      Matrix(double [SIZE][SIZE]);            // Konstruktor klasy
  
      Matrix();                               // Konstruktor klasy
  
      Matrix(const Matrix &mat);
  
      Matrix operator + (Matrix tmp);
  
      Vector operator * (Vector tmp);           // Operator mnożenia przez wektor
  
      Matrix operator * (Matrix tmp);           // Operator mnożenia przez macierz
  
      double  &operator () (unsigned int row, unsigned int column);
      
      const double &operator () (unsigned int row, unsigned int column) const;
  
      bool operator == (const Matrix &mat) const;
  
      Matrix Rotation(double degrees);
  
      double detGauss();
  };
  
  std::istream &operator>>(std::istream &in, Matrix &mat);
  
  std::ostream &operator<<(std::ostream &out, Matrix const &mat);
  
  
  
  
  