#include"Term.h" #include #include #include using namespace std; /* Term(const Term& term) // Copy constructor. { value = term.value; termsGrouped = term.termsGrouped; positionsCovered = term.positionsCovered; } */ Term::Term(int val) { value = 0; groupTerm( val ); } void Term::coverPosition(int val) { positionsCovered.insert( val ); } void Term::groupTerm(int val) { termsGrouped.insert( val ); if(value < val) value = val; } void Term::printTerm(char arr[][5]) { stack result; int cnt = 0; set::iterator it_pc = positionsCovered.begin(); while(value) { if(cnt != *(it_pc)) { if( value%2 ) result.push( arr[cnt] ); else result.push( strcpy(arr[cnt], "'") ); value = value / 2; } else if(it_pc != termsGrouped.end()) cnt++; } while( !result.empty() ) { cout<::iterator it_left_tg; set::iterator it_right_tg; for(it_left_tg = left.termsGrouped.begin(), it_right_tg = right.termsGrouped.begin() ;it_left_tg != left.termsGrouped.end() ;it_left_tg++, it_right_tg++) { if(*it_left_tg > *it_right_tg) return false; } //Execution reaches here iff left