#include "Matrix.hpp"
#include<iostream>


void affiche(const umlv::Matrix<double> &m,const umlv::Matrix<double> &n)
{
  for(int i=0;i<m.getLines();i++)
    {
      for(int j=0;j<m.getColumns();j++)
	std::cout<<m[i][j];
      std::cout<<std::endl;
    }
  std::cout<<m+n+m+n<<std::endl;
  std::cout<<m*n<<std::endl;
}


int main()
{
  umlv::Matrix<int> m0(5,4,0); // lignes, colonnes, valeur par défaut.
  umlv::Matrix<int> m1(4,1,2);
  umlv::Matrix<int> m2(5,4,1);
  
  std::cout<<m0<<std::endl;
  std::cout<<m0+m2<<std::endl;
  std::cout<<m1<<std::endl;
  std::cout<<(m0+m2)*m1<<std::endl;
  
  umlv::Matrix<umlv::Matrix<char> > M(2,3,umlv::Matrix<char>(3,3,'a'));
  std::cout<<M<<std::endl;

  affiche(m2,m2);
  return 1;
}
