Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
#1

Дан текст. Напечатать его, преобразовав каждое слово по следующему правилу: удалить из слова все предыдушие вхождения последней буквы. - C++

01.04.2013, 06:03. Просмотров 744. Ответов 1
Метки нет (Все метки)

привет всем, помогите составить програмку:
Дан текст. Напечатать его, преобразовав каждое слово по следующему правилу: удалить из слова все предыдушие вхождения последней буквы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 06:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан текст. Напечатать его, преобразовав каждое слово по следующему правилу: удалить из слова все предыдушие вхождения последней буквы. (C++):

Напечатать все слова последовательности, предварительно преобразовав каждое из них по следующему правилу - C++
Задача: Код: #include <iostream> #include <string> using namespace std; int main(){ char string; char *word1 = new...

Преобразовать каждое слово в строк, заменив в нем все предыдущие вхождения его последней буквы на символ «.» - C++
Дана строка, состоящая из слов, набранных заглавными бук-вами и разделенных пробелами (одним или несколькими). Преобразо-вать каждое слово...

Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по заданному правилу - C++
Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела....

Напечатать все слова строки, предварительно удалив из каждого слова все предыдущие вхождения последней буквы - C++
дана последовательность слов разделенных пробелами .Напечатать все слова предварительно удалив из каждого слова все предыдущие вхождения...

ООП. Напечатать слова, отличные от последнего слова, предварительно преобразовав каждое из них по правилу - C++
Напечатать слова, отличные от последнего слова, предварительно преобразовав каждое из них по правилу: удалить из слова первую букву....

Преобразовать каждое слово в строке, удалив из него все вхождения первой буквы этого слова - C++
Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке,...

1
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
01.04.2013, 14:42 #2
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
#include <iostream>
#include <sstream>
#include <functional>
#include <algorithm>
#include <string>
 
int main() 
{
    setlocale (0, "Russian");
    
    using namespace std::placeholders;
    
    std::string str = "привет всем, помогите составить програмку:"
                " Дан текст. Напечатать его, преобразовав каждое слово по "
                " следующему правилу: удалить из слова все предыдушие вхождения последней буквы";
    std::istringstream iss(str);
    for (std::string word; iss>>word;)
    {
        const char del = *std::find_if(word.rbegin(), word.rend(), std::bind(isalpha, _1));
        for (std::string::size_type pos = 0; (pos = word.find(del, pos)) != std::string::npos; word.erase(pos, 1));
        std::cout<<word<<" ";
    }
    std::cout<<"\n\n\n";
    
    return 0;
}
Добавлено через 54 минуты
Или, если важно не пропускать пробелы:
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
#include <iostream>
#include <functional>
#include <vector>
#include <algorithm>
#include <string>
#include <boost/algorithm/string.hpp>
 
int main() 
{
    setlocale (0, "Russian");
    
    using namespace std::placeholders;
    
    std::string str = "     привет всем, помогите        составить програмку:"
                " Дан текст. Напечатать его, преобразовав каждое слово по "
                " следующему правилу: удалить из слова все предыдушие вхождения последней буквы";
    std::vector<std::string> words;
    boost::split(words, str, boost::algorithm::is_space());
    for (auto& s : words)
    {
        boost::erase_all(s, std::string() + *std::find_if(s.rbegin(), s.rend(), std::bind(isalpha, _1)));
        std::cout<<s<<" ";
    }
    std::cout<<"\n\n\n";
    
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2013, 14:42
Привет! Вот еще темы с ответами:

Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них - C++
Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела....

Преобразовать каждое слово в строке, заменив в нем все последующие вхождения его первой буквы на символ «.» - C++
помогите пожалуйста решить 3)Дана строка, состоящая из русских слов, набранных заглавными бук- вами и разделенных пробелами (одним...

Дан текст. Преобразовать его по следующему правилу - C++
Дан текст. Преобразовать его по правилу: если нет символа &quot;*&quot;, то оставить его без изменения, иначе заменить каждый символ,...

Удалить из слова предыдущие вхождения последней буквы - C++
Вот, попыталась соорудить: word.replace(word, word.empty()) + word Компилироваться не хочет: Unit2.cpp(85): E2235 Member function...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru