/****************************************************** Name: Filename: IntegerSet.cpp ******************************************************/ //Member Function Definitions For IntegerSetDriver.cpp #include #include #include "IntegerSet.h" using namespace std; IntegerSet::IntegerSet(int a, int b, int c, int d, int e) { emptySet(); if (validEntry(a)) insertElement(a); if (validEntry(b)) insertElement(b); if (validEntry(c)) insertElement(c); if (validEntry(d)) insertElement(d); if (validEntry(e)) insertElement(e); } void IntegerSet::emptySet(void) { for (int i = 0; i < 101; ++i) set[i] = 0; } void IntegerSet::setPrint(void) const { int x = 1; int empty = 1; for (int y = 0; y < 101; ++y) if (set[y]) { cout << setw(4) << y << (x % 10 == 0 ? "\n" : ""); empty = 0; //Set Not Empty ++x; } if (empty) cout << setw(4) << "---" //Show When Set Is Empty << endl; } IntegerSet IntegerSet::unionOfIntegerSets(const IntegerSet &r) { IntegerSet temp; for (int i = 0; i < 101; i++) if (set[i] == 1 || r.set[i] == 1) temp.set[i] = 1; return temp; } IntegerSet IntegerSet::intersectionOfIntegerSets(const IntegerSet &r) { IntegerSet temp; for (int i = 0; i < 101; i++) if (set[i] == 1 && r.set[i] == 1) temp.set[i] = 1; return temp; } void IntegerSet::insertElement(int k) { if (validEntry(k)) set[k] = 1; else cerr << "Invalid insert attempted!" << endl; } void IntegerSet::deleteElement(int m) { if (validEntry(m)) set[m] = 0; else cerr << "Invalid delete attempted!" << endl; } int IntegerSet::isEqualTo(const IntegerSet &r) const { for (int i = 0; i < 101; i++) if (set[i] != r.set[i]) return 0; //Set Equal return 1; //Set Not Equal }