3.2

#include <iostream>
#include <set>
using namespace std;

void erase_subs(set<int>& s, const int& subs)
{
    set<int>::iterator p, pe, pd;
    p = s.begin(), pe = s.end();

    while (p != pe)
    {
        if (p == s.find(subs))
            p = s.erase(p);
        else
              p;
    }
}

int main()
{
    set<int> myset;
    set<int>::iterator it;
    pair<set<int>::iterator, bool> ret;

    for (int i = 1; i <= 5;   i) myset.insert(i * 10);

    ret = myset.insert(20);

    if (ret.second == false) it = ret.first;

    myset.insert(it, 25);
    myset.insert(it, 24);
    myset.insert(it, 26);

    int myints[] = { 5,10,15,60,28 };
    myset.insert(myints, myints   5);

    cout << "myset contains after insert:";
    for (it = myset.begin(); it != myset.end();   it)
        cout << ' ' << *it;
    cout << '\n';

    // set toʻplam tltmentlarini oʻchirish
    it = myset.begin();
      it;

    myset.erase(it);

    myset.erase(40);

    it = myset.find(60);
    myset.erase(it, myset.end());

    cout << "myset contains after erase :";
    for (it = myset.begin(); it != myset.end();   it)
        cout << ' ' << *it;
    cout << '\n';

    erase_subs(myset, 24);

    cout << "myset contains after erase_subs :";
    for (it = myset.begin(); it != myset.end();   it)
        cout << ' ' << *it;
    cout << '\n';
    system("pause");
    return 0;
}
Run on cpp.sh