как заполнить с клавиатуры стринговый set контейнер размером 9 элементов?

Как можно заполнить контейнер set типа string размером 9 элементов? после посчитать длину каждой строки и удалить самую маленькую


Ответы (1 шт):

Автор решения: Mikhailo

А вы считайте сразу длину - при внесении в set. Тогда строка с минимальной длиной - первая.

int main() {
    auto comp = [](const string & a, const string & b) {
        if (a.size() < b.size()) return true;

        if (a.size() > b.size()) return false;

        return a < b;
        };
    set<string, decltype(comp)> S(comp);

    for (int i = 0; i < 9; ++i) {
        string s;
        getline(cin, s);
        S.insert(s);
        }

    cout << "----\n";

    for (auto s : S) cout << s << "\n";

    cout << "----\n";
    S.erase(S.begin());

    for (auto s : S) cout << s << "\n";

    cout << "----\n";
    }

https://ideone.com/RLHqWc

→ Ссылка