Я пытаюсь придумать программу для хранения пользовательского ввода (строки) в вектор и выводить их в порядке убывания по длине - PullRequest
0 голосов
/ 04 октября 2019

Примером может быть.

Ввод:

Hey this is fantastic!

Ввод:

fantastic!
this
Hey
is

извините, если я не задал вопрос правильно. Это все, что я должен пройти.

Ответы [ 3 ]

0 голосов
/ 04 октября 2019

Проверьте функцию std::sort из <algorithm> и std::vector<std::string>. В Интернете есть множество примеров того, как написать функцию, которая упорядочивает строки в порядке убывания (передайте функцию в std::sort).

0 голосов
/ 04 октября 2019

Используйте стандартный алгоритм std::sort(), предоставляя ему предикат, который сортирует в порядке убывания, например:

#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <algorithm>

int main() {
    std::vector<std::string> v;
    std::string s;

    std::getline(std::cin, s);

    std::istringstream iss(s);
    while (iss >> s) {
        v.push_back(s);
    } 

    std::sort(v.begin(), v.end(),
        [](const std::string &a, const std::string &b){ return a.size() >= b.size(); }
    );

    for(auto &word: v) {
        std::cout << word << std::endl;
    }

    return 0;
}

Живая демонстрация

0 голосов
/ 04 октября 2019

Проверьте метод, обратный от std Library, это пример, который я только что нашел в Интернете, он поменяет порядок на вектор строки, который вы передаете ему. http://www.cplusplus.com/reference/algorithm/reverse/

...