2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418

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

19.01.2022, 09:35. Показов 2101. Ответов 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
2410 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
19.01.2022, 11:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от volver Посмотреть сообщение
происходит опять выход за пределы
В каком месте?
0
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
19.01.2022, 11:46  [ТС]
17 строка
0
2410 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
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
2410 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
19.01.2022, 11:59
volver, да
0
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
19.01.2022, 12:01  [ТС]
John Prick, а из-за чего может быть такое, что первое слово записывается первым? даже если оно начинается с буквы "Я"?
0
2410 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru