#include <iostream>
#include <set> // заголовочный файл множест и мультимножеств
#include <iterator>
#include <cstdlib>
using namespace std;
int main( )
{
srand ( time ( NULL ) ) ;
set< int > mySet; // объявили пустое множество
// добавляем элементы в множество
for ( int i = 0 ; i < 10 ; i++ ) {
mySet.insert ( rand ( ) % 100 ) ;
}
cout << "Элементы множества: " ;
copy( mySet.begin ( ) , mySet.end ( ) , ostream_iterator< int > ( cout , " " ) ) ;
int del = 0 ;
cout << "\n Какой элемент удалить? " ;
cin >> del;
cout << "Элемент " << * mySet.find ( del) << " - удален!" << endl;
mySet.erase ( del) ;
int add = 0 ;
cout << "Какой элемент добавить? " ;
cin >> add;
cout << "Новый элемент добавлен на место старого - " << * mySet.lower_bound ( add) << endl;
mySet.insert ( add) ;
cout << "Мы удалили элемент " << del << " и добавили " << add << ".\n Вот что получилось: " << endl;
copy( mySet.begin ( ) , mySet.end ( ) , ostream_iterator< int > ( cout , " " ) ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCiNpbmNsdWRlIDxzZXQ+ICAvLyDQt9Cw0LPQvtC70L7QstC+0YfQvdGL0Lkg0YTQsNC50Lsg0LzQvdC+0LbQtdGB0YIg0Lgg0LzRg9C70YzRgtC40LzQvdC+0LbQtdGB0YLQsgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxjc3RkbGliPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkKewogICAgc3JhbmQodGltZShOVUxMKSk7CiAgICBzZXQ8aW50PiBteVNldDsgLy8g0L7QsdGK0Y/QstC40LvQuCDQv9GD0YHRgtC+0LUg0LzQvdC+0LbQtdGB0YLQstC+CiAKICAgIC8vINC00L7QsdCw0LLQu9GP0LXQvCDRjdC70LXQvNC10L3RgtGLINCyINC80L3QvtC20LXRgdGC0LLQvgogICAgZm9yKCBpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7CiAgICAgICAgbXlTZXQuaW5zZXJ0KCByYW5kKCkgJSAxMDAgKTsKICAgIH0KIAogICAgY291dCA8PCAi0K3Qu9C10LzQtdC90YLRiyDQvNC90L7QttC10YHRgtCy0LA6ICI7CiAgICBjb3B5KCBteVNldC5iZWdpbigpLCBteVNldC5lbmQoKSwgb3N0cmVhbV9pdGVyYXRvcjxpbnQ+KGNvdXQsICIgIikpOwogCiAgICBpbnQgZGVsID0gMDsKICAgIGNvdXQgPDwgIlxu0JrQsNC60L7QuSDRjdC70LXQvNC10L3RgiDRg9C00LDQu9C40YLRjD8gIjsKICAgIGNpbiA+PiBkZWw7CiAKICAgIGNvdXQgPDwi0K3Qu9C10LzQtdC90YIgIiA8PCAqbXlTZXQuZmluZChkZWwpIDw8ICIgLSDRg9C00LDQu9C10L0hIiA8PCBlbmRsOwogICAgbXlTZXQuZXJhc2UoZGVsKTsKIAogICAgaW50IGFkZCA9IDA7CiAgICBjb3V0IDw8ICLQmtCw0LrQvtC5INGN0LvQtdC80LXQvdGCINC00L7QsdCw0LLQuNGC0Yw/ICI7CiAgICBjaW4gPj4gYWRkOwogCiAgICBjb3V0IDw8ICLQndC+0LLRi9C5INGN0LvQtdC80LXQvdGCINC00L7QsdCw0LLQu9C10L0g0L3QsCDQvNC10YHRgtC+INGB0YLQsNGA0L7Qs9C+IC0gIiA8PCAqbXlTZXQubG93ZXJfYm91bmQoYWRkKSA8PCBlbmRsOwogICAgbXlTZXQuaW5zZXJ0KGFkZCk7CiAKICAgIGNvdXQgPDwgItCc0Ysg0YPQtNCw0LvQuNC70Lgg0Y3Qu9C10LzQtdC90YIgIiA8PCBkZWwgPDwgIiDQuCDQtNC+0LHQsNCy0LjQu9C4ICIgPDwgYWRkIDw8ICIuXG7QktC+0YIg0YfRgtC+INC/0L7Qu9GD0YfQuNC70L7RgdGMOiAiIDw8IGVuZGw7CiAgICBjb3B5KCBteVNldC5iZWdpbigpLCBteVNldC5lbmQoKSwgb3N0cmVhbV9pdGVyYXRvcjxpbnQ+KGNvdXQsICIgIikpOwogCiAgICByZXR1cm4gMDsKfQ==