SystemeMotivationnel4::SystemeMotivationnel4() { add(Experience(1), Resultat(2), 1); add(Experience(1), Resultat(1), -1); add(Experience(2), Resultat(1), -1); add(Experience(2), Resultat(2), 1); }
Interaction SystemeMotivationnel::interaction(const Experience& e, const Resultat& r) const { if(r == Resultat()) { return Interaction(Experience(e)); } return m_systeme[qMakePair(e,r)]; }
Matrice Matrice::operator-() const { int i, j; Matrice Resultat(m_lignes, m_colonnes); for(i=0; i<m_lignes; i++) { for(j=0; j<m_colonnes; j++) { Resultat.FixerValeur(i, j, (-1)*m_contenu[i][j]); } } return Resultat; }
Matrice Matrice::Transposee() const { Matrice Resultat(m_colonnes, m_lignes); int i, j; for (i=0; i<m_colonnes; i++) { for (j=0; j<m_lignes; j++) { Resultat.FixerValeur(i, j, m_contenu[j][i]); } } return Resultat; }
Matrice Matrice::Identite() const { int i, j; Matrice Resultat(m_lignes, m_colonnes); for (i = 0; i<m_lignes; i++) { for (j = 0; j<m_colonnes; j++) { if (i==j) { Resultat.FixerValeur(i,j, 1); } else { Resultat.FixerValeur(i,j,0); } } } return Resultat; }
Matrice Matrice::RetraitColonne(int Colonne) const { int i, j; Matrice Resultat(m_lignes-1, m_colonnes-1); for (i=1; i<m_lignes; i++) { for (j=0; j<m_colonnes; j++) { if (j < Colonne) { Resultat.FixerValeur(i-1, j, m_contenu[i][j]); } else if (j > Colonne) { Resultat.FixerValeur(i-1, j-1, m_contenu[i][j]); } } } return Resultat; }
void SystemeMotivationnel::add(Experience e, Resultat r, int m) { m_systeme[qMakePair(e,r)] = Interaction(Experience(e), Resultat(r),m); }