Здравствуйте. Имею проблемы с задачей на С++. Конкретно - с классом map библиотеки STL.
Задача такая:
читать дальшеНаписать программу моделирования работы автобусного парка.
Сведения о каждом автобусе содержат: номер автобуса, фамилию и инициалы водителя, номер маршрута.
Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:
□ начальное формирование данных о всех автобусах в парке в виде списка (ввод с клавиатуры или из файла);
□ имитация выезда автобуса из парка: вводится номер автобуса; программа уда¬ляет данные об этом автобусе из списка автобусов, находящихся в парке, и за¬писывает эти данные в список автобусов, находящихся на маршруте;
□ имитация въезда автобуса в парк: вводится номер автобуса; программа удаляет данные об этом автобусе из списка автобусов, находящихся на маршруте и записывает эти данные в список автобусов, находящихся в парке.
□ Вывод сведений об автобусах, находящихся в парке и об автобусах, находящихся на маршруте
Решить задачу, используя для представления данных контейнерный класс map, в качестве ключа использовать «номер автобуса». Предусмотреть вывод сведений об автобусах производить в порядке возрастания номеров автобусов и в порядке возрастания номеров маршрутов. собственно, с теми проблемами разобрался, но теперь появилась проблема чисто кодового характера.
for(map::iterator iter=table2.begin(); iter!=table.end()
{
if (((*iter).first.num)==number) iter=table2.erase(iter);
*здесь необходимо сперва вставить этот элемент в table3, а затем удалить из table2* else {cout<<(*iter).first.num<<"\t"<<(*iter).first.name<<"\t"<<(*iter).first.marsh<<"\n"; iter++;}
}
Излазил всё, но не могу найти варианта, чтобы вставить объект с позиции итератора. Т.е. находил что-то типа table3.insert(iter, что-то непонятное). Но вот как именно в этом случает в цикле вставить этот объект?Запоролся на этом, двинуться дальше не могу, хотя задача в принципе решена. Помогите, пожалуйста!
Заранее спасибо.