#include #include #include using namespace std; string intersect( string, string ); string union( string, string ); string makeset( string ); int main() { ifstream infile; ofstream outfile; string set1,set2,set3,temp,op; infile.open("SETS.IN"); outfile.open("SETS.OUT"); infile >> set1 >> set2 >> op; while( infile ) { switch(op[0]) { case '*': set3 = intersect( set1,set2 ); break; case '+': set3 = union( set1,set2 ); break; } set1 = makeset( set1 ); set2 = makeset( set2 ); set3 = makeset( set3 ); outfile << set1 << " " << set2 << " = " << set3 << endl; infile >> set1 >> set2 >> op; } outfile.close(); infile,close(); return 0; } string intersect( string set1, string set2 ) { string set3; for( int loop = 0; loop < set1.length(); loop++ ) { for( int loop2 = 0; loop2 < set2.length(); loop2++ ) if( set1[loop] = set2[loop + loop2] ) set3 += set1[loop]; } return set3; } string union( string set1, string set2 ) { for( int loop = 0; loop < set2.length(); loop++ ) { for( int loop2 = 0; loop2 < set1.length(); loop2++ ) if( set2[loop] != set1[loop + loop2] ) set1 += set2[loop]; } return set3; } string makeset( string set ) { return set; }