Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418

Функция выделяющая отдельные слова и выводящая их в алфавитном порядке

19.01.2022, 09:35. Показов 2069. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно создать функцию, которая в строке символов выделяет отдельные слова разделенные пробелами, знаками препинания, скобками и выводит их в алфавитном порядке. Помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.01.2022, 09:35
Ответы с готовыми решениями:

Функция, выводящая информацию об N студентах в алфавитном порядке
Помогите пожалуйста написать программу С+, в которой будет реализована функция, выводящая информацию об N студентах в алфавитном порядке ...

Разбить каждую строку на отдельные слова , а слова по буквам в алфавитном порядке
using System; class Program { public static void Main() { const string s = "My name is Vika"; ...

Разделение предложения на отдельные слова и сортировку их в алфавитном порядке
Я делаю лабораторную на разделение предложения на отдельные слова и сортировку их в алфавитном порядке. Вот код: program main; type...

27
2405 / 1935 / 763
Регистрация: 27.07.2012
Сообщений: 5,574
19.01.2022, 11:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от volver Посмотреть сообщение
происходит опять выход за пределы
В каком месте?
0
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
19.01.2022, 11:46  [ТС]
17 строка
0
2405 / 1935 / 763
Регистрация: 27.07.2012
Сообщений: 5,574
19.01.2022, 11:53
Добавь перед добавлением в массив.
C++
1
2
if (end == std::string::npos)
    end = text.size();
0
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
19.01.2022, 11:53
Я тут попробовал написать, но из-за #include <windows.h> проверить код нет возможности (онлайн компилятору он не нравится).
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <algorithm>
#include <string>
#include <set>
#include <cctype>
#include <windows.h>
#include <locale>
//////////////////////////////////////переводит в нижний регистр кириллицу
char  tolower_rus(char c)
{
    return  tolower
    (
        c,
        std::locale("")
    );
}
 
std::string  string_tolower_rus(const std::string& str)
{
    std::string   res_str = str;
 
    std::transform
    (
        str.begin(),
        str.end(),
        res_str.begin(),
        tolower_rus
    );
 
    return  res_str;
}
//////////////////////////////////////компаратор
struct cmp {
    bool operator()(const std::string &a, const std::string &b) const { 
        return string_tolower_rus(a) < string_tolower_rus(b);
    }
};
////////////////////////////////////////////////////////////////////функция
std::set<std::string, cmp> myFoo(const std::string &str, const std::string &delim)
{
    std::set<std::string, cmp>newStr;
    std::string oldStr(str);
    size_t pos = 0;
    while ((pos = oldStr.find_first_of(delim)) != std::string::npos) 
    {
        if(pos == 0)
        {
            pos++;
            oldStr.erase(0, pos);
            continue;
        }
        newStr.insert(oldStr.substr(0, pos));
        oldStr.erase(0, pos + 1);
    }
    return newStr;
}
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    std::string str= "Особенности национальной рыбалки рыбалки - художественный (как не странно), комедийный фильм. Для всех всех";
    std::string delimetr = " -_,.:;\'!()[]{}\"";
    std::set<std::string, cmp> newStr = myFoo(str, delimetr);
    for(auto &x: newStr)
    {
        std::cout << x << "\n";
    }
    
    return 0;
}
1
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
19.01.2022, 11:57  [ТС]
John Prick, вот так?
C++
1
2
3
4
5
6
7
8
9
10
 while (begin < text.size())
    {
        begin = text.find_first_not_of(delims, begin);
        string::size_type end = text.find_first_of(delims, begin);
        if (end == std::string::npos)
            end = text.size();
 
        words[i++] = text.substr(begin, end - begin);
        begin = end;
    }
0
2405 / 1935 / 763
Регистрация: 27.07.2012
Сообщений: 5,574
19.01.2022, 11:59
volver, да
0
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
19.01.2022, 12:01  [ТС]
John Prick, а из-за чего может быть такое, что первое слово записывается первым? даже если оно начинается с буквы "Я"?
0
2405 / 1935 / 763
Регистрация: 27.07.2012
Сообщений: 5,574
19.01.2022, 12:29
Даже и не знаю: https://onlinegdb.com/bF_oEyFVF

Code
1
2
3
4
5
6
7
8
9
10
11
12
Особенности национальной рыбалки - художественный (как не странно), комедийный фильм. Для всех
Для
Особенности
всех
как
комедийный
национальной
не
рыбалки
странно
фильм
художественный
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2022, 12:29

Выведите на экран в алфавитном порядке все слова двух строк (без повторений) в алфавитном порядке
Выведите на экран в алфавитном порядке все слова двух строк (без повторений) в алфавитном порядке.

Функция выделяющая из массива слова, начинающиеся с указанной подстроки
Ребята, помогите с реализацией функции: int SelectWords (char * const Words, const int WordLength, int WordCount, const char prefix, int...

Функция выделяющая из массива слова, начинающиеся с указанной подстроки
Ребята, помогите с реализацией функции: int SelectWords (char * const Words, const int WordLength, int WordCount, const char prefix, int...

Функция выделяющая из строки заданное количество слов начиная со слова с заданным номером
Разработать функцию, которая выполняет ту обработку символьной строки, которая определена в Вашем индивидуальном задании*. Примечание:...

Функция выводящая массива в обратном порядке средствами рекурсии
Итак функция принимает массив типа int и возвращает также массив с элементами типа int. Функция должна вернуть массив в обратном порядке....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru