Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int main() {
- /* FOR SUPPORT: объявляем переменную для хранения количество чисел и инициализируем нулем */
- int n = 0;
- /* FOR SUPPORT: объявляем строку */
- string val;
- /* FOR SUPPORT: объявляем вектор строк */
- vector<string> v;
- /* FOR SUPPORT: считываем число */
- cin >> n;
- /* FOR SUPPORT: выделяем память под место для n элементов */
- v.reserve(n);
- /* FOR SUPPORT: запускаем цикл на n итераций */
- for (int i = 0; i < n; ++i) {
- /* FOR SUPPORT: считываем строку */
- cin >> val;
- /* FOR SUPPORT: добавляем строку в конец вектора */
- v.push_back(val);
- }
- /* FOR SUPPORT: begin() вернет начало контейнера\строки end() вернет конец контейнера\строки
- * передаем в std::sort 3-им параметром лямбда-функцию, которая сравнивает две строки лексикографически */
- sort(begin(v), end(v), [](const string& l, const string& r) {
- return lexicographical_compare(begin(l), end(l), begin(r), end(r),
- /* FOR SUPPORT: передаем еще одну лямбда-функцию которая сравнивает символы без учета регистра */
- [](char cl, char cr) { return tolower(cl) < tolower(cr); }
- );
- }
- );
- /* FOR SUPPORT: запускаем цикл для обхода вектора */
- for (int i = 0; i < v.size(); ++i) {
- /* FOR SUPPORT: выводим i-ый элемент вектора */
- cout << v[i] << ' ';
- }
- /* FOR SUPPORT: выводим перевод строки */
- cout << endl;
- }
- -----------------------------------------------------------------------------------------------------------------------
- Прочитайте слова в вектор, а потом отсортируйте их алгоритмом sort. По умолчанию sort сравнивает элементы
- операцией <, которая для строк учитывает регистр символов. Чтобы сравнивать слова без учёта регистра символов, передайте алгоритму sort компаратор.
- В этом компараторе сравнивайте строки алгоритмом lexicographical_compare. Чтобы lexicographical_compare игнорировал регистр символов, передайте этому алгоритму компаратор, который перед сравнением приводит символы к нижнему регистру функцией tolower.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement