Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

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

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

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 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS