C++ Vector как удалить все элементы, расположенные после этого ите­ратора.. в конце...

0 голосов
46 просмотров

C++ Vector как удалить все элементы, расположенные после этого ите­ратора..
в конце дописывает 121


image
image

Информатика (137 баллов) | 46 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Упрощенный пример:
//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64

#include
#include
#include
using namespace std;

int main()
{
    vector v = { 5, 4, 8, 9, 0, 6};
    auto min = min_element(v.begin(), v.end());
    // Вот так правильно удалять используя remove, но зачем так изгаляться?
    v.erase(remove(v.begin(), v.end(), *min), v.end());
    // В вашем случае достаточно просто:
    v.erase(min);
    for (const auto& i : v) cout << i << " ";<br>}

(4.2k баллов)