Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2020, 13:25   #1
kisel2014
Пользователь
 
Регистрация: 04.12.2019
Сообщений: 11
По умолчанию Обработка строк в C++

Дан текст. Словом текста считается любая последовательность букв латинского алфавита; между соседними словами - не менее одного пробела. Перед первым и за последним словом каждой строки произвольное число пробелов. Найти и сохранить в каждой строке только те слова, которые совпадают с начальным отрезком латинского алфавита (a, ab, abc, abcd,…).
kisel2014 вне форума Ответить с цитированием
Старый 26.06.2020, 07:57   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

kisel2014, держи

Код:
#include <iostream>
#include <sstream>
#include <string>

int main()
{
    const std::string text=
        "sdfghdf df gdg   abc sdgh h fghdfh fd a hdfh dfgh abcde h \n"
        "sdfgf df gdg   ab sdgh h fghd fd a hdfh dfgh abcd h \n"
        "sgf df gdg   ab sdgh h fhd fd a hdfh dfgh a h ab\n"
        ;
    const std::string pattern=[]
    {
        std::string pattern;
        pattern.reserve('z'-'a'+1);
        for(char c='a'; c<'z'; c++)pattern.push_back(c);
        return pattern;
    }();

    std::stringstream ss_text(text);
    std::string line;
    while(std::getline(ss_text, line))
    {
        for(auto& c:line)c=std::tolower(c);
        std::stringstream ss_word(line);

        std::string word; 
        while(ss_word>>word)
        {
            if(pattern.find(word)==0)
            {
                std::cout<<word<<' ';
            }
        }
        std::cout<<'\n';
    }    

    return 0;
}
Цитата:
abc a abcde
ab a abcd
ab a a ab

Последний раз редактировалось Алексей1153; 26.06.2020 в 08:00.
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Три задачи на Delphi (Паскаль): обработка строк, обработка множеств, работа с типизированным файлом Тедеев Помощь студентам 11 13.12.2013 13:38
Обработка строк DeCIIoT Общие вопросы C/C++ 0 27.04.2013 14:08
Обработка строк. Светлана11 Паскаль, Turbo Pascal, PascalABC.NET 6 20.12.2011 17:23
обработка строк на Си HoOpe Помощь студентам 35 20.05.2009 19:11
Обработка строк kpactu Помощь студентам 0 12.05.2009 22:43