У меня есть парный вектор, как этотC++: pop_back парный вектор
vector <pair<int , string> > Names;
я поставил в нем данные таким образом:
cin>>taxi>>Ar_taxis>>Ar_mathiton;
for(j=0;j<Ar_mathiton;j++)
{
cin>>Ar_Mitroou>>Onoma;
Names.push_back(make_pair(Ar_Mitroou,Onoma));
}
сортировать его, а затем я распечатать его:
for(j=0;j<Ar_mathiton;j++)
{
cout<<Names[i].first<<" "<<Names[i].second<<endl;
Names.pop_back();
}
У меня проблема с pop_back(), она не удаляет набор пар. Я не знаю, есть ли другая команда для этого. Благодарю.
[править] весь код
cin>>Ar_taxeon;
for(i=0;i<Ar_taxeon;i++)
{
cin>>taxi>>Ar_taxis>>Ar_mathiton;
for(j=0;j<Ar_mathiton;j++)
{
cin>>Ar_Mitroou>>Onoma;
Names.push_back(make_pair(Ar_Mitroou,Onoma));
}
sort(Names.begin(),Names.end());
cout<<taxi<<Ar_taxis<<endl;
for(j=0;j<Ar_mathiton;j++)
{
cout<<Names[i].first<<" "<<Names[i].second<<endl;
Names.pop_back();
}
}
Как вы знаете, он не удаляет его из вектора? Вы проверяли, изменился ли размер? – NathanOliver
Вывод одинаков для всех времен. Нет, нет. –
вы едете на велосипеде по 'j' и получаете доступ к' i' ..., который уже достаточно странный, покажите нам остальную часть кода, когда вы проверите, было ли оно удалено. – bznein