Moka libraries
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Matrice.hh
Go to the documentation of this file.
1 #ifndef MATRICE_HH
2 #define MATRICE_HH
3 
4 #include <iostream>
5 
6 struct coord
7 {
8  int i;
9  int j;
10 };
11 
12 bool no(coord c);
13 
14 class Matrice
15 {
16 
17 private :
18  int nb_lignes;
19  int nb_colonnes;
20  int **mat;
21  bool FValid;
22 
24  unsigned int FSize;
25 
26 public :
27  Matrice();
28  Matrice(int nbli,int nbcol);
29  Matrice(const Matrice & source);
30  ~Matrice();
31 
33  unsigned long size() const;
34 
37  bool valid();
38 
39  int getVal(int i,int j);
40  int getnbcol();
41  int getnbli();
42  coord getMinElemNonZero(int pos);
43  void setVal(int i,int j,int val);
44  void setMatrice(Matrice * m);
45  void inverseColonne(int i, int j);
46  void inverseLigne(int i,int j);
47  void multiplyLigne(int i, int coeff);
48  void multiplyColonne(int i,int coeff);
49  void multGauche(Matrice * op2);
50  coord verifyDiviseLigne(int pos);
51  coord verifyDiviseColonne(int pos);
52  coord verifyOthers(int pos);
53 
54  /*lignei = lignei + coeff*lignej;*/
55  void addLigne(int i,int j, int coeff);
56 
57  void addColonne(int i,int j, int coeff);
58  void affiche();
59 
60  // Méthodes destinées à des matrices en forme de Smith.
61  int nbTorsion();
62  int nbCycle();
63 
64 protected:
67  bool allocate(int nbli, int nbcol);
68 
70  void desallocate();
71 };
72 
73 #endif