Answer to Question #76528 in C++ for LEE JIA WEI

Question #76528
Write a function remove_odd that takes in a set of integers and removes all the odd elements.

Hint: you will need to use an iterator to iterate through the elements in a set.

Hint: In C++11, an auto keyword can be use to automatically infer the type. e.g. autoiter = s.begin()

#include <set>

using namespace std;

void remove_odd(set<int> s) {
//code
}
1
Expert's answer
2018-04-27T12:11:08-0400
#include <iostream>
#include <set>
//#include <iterator>

using namespace std;

// function removes all the odd elements
void remove_odd(set<int> &s) {
for (set<int>::iterator it=s.begin(); it!=s.end();) {
if (*it%2==1)
s.erase(it++);
else ++it;
}
}


// print set
void print (const set<int> &s) {
for (set<int>::iterator it=s.begin(); it!=s.end(); ++it)
cout << *it << " ";
cout << endl;
}

main() {
set<int> a = {1,2,4,5,6,7,9,10};

print(a);
remove_odd(a);
print(a);

return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS