Note getBestNote(std::vector<Note>::iterator begin,std::vector<Note>::iterator end) { if(begin==end) { throw NoteException("Erreur getBestNote() les itérateurs sont egaux, vous iterez probablement sur un tableau vide"); } Note max = *begin; begin++; for(std::vector<Note>::iterator itNote=begin;itNote != end;itNote++) { if(itNote->getRang()<max.getRang()) { max=*itNote; } } return max; }
Note getWorstNote(std::vector<Note>::iterator begin,std::vector<Note>::iterator end) { if(begin==end) { throw NoteException("Erreur getBestNote() les itérateurs sont egaux, vous iterez probablement sur un tableau vide"); } Note min = *begin; begin++; bool foundDeterminantNote=false;//les notes non déterminantes ne comptes pas. for(std::vector<Note>::iterator itNote=begin;itNote != end;itNote++) { if((!foundDeterminantNote)&&(itNote->getRang()>0)) { foundDeterminantNote=true; min=*itNote; } if((foundDeterminantNote)&&(itNote->getRang()>min.getRang())) { min=*itNote; } } return min; }
bool operator==(const Note n1, const Note n2) { return (n1.getRang()==n2.getRang()); }
bool operator>(const Note n1, const Note n2) { return n1.getRang()>n2.getRang(); }