7 / 7 / 3
Регистрация: 02.11.2012
Сообщений: 152
1

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

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

Студворк — интернет-сервис помощи студентам
привет всем, помогите составить програмку:
Дан текст. Напечатать его, преобразовав каждое слово по следующему правилу: удалить из слова все предыдушие вхождения последней буквы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2013, 06:03
Ответы с готовыми решениями:

Дан текст. Напечатать его, преобразовав каждое слово по следующему правилу:
Привет всем, помогите составить програмку: Дан текст. Напечатать его, преобразовав каждое слово по...

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

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

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

1
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
01.04.2013, 14:42 2
Лучший ответ Сообщение было отмечено Saddiel как решение

Решение

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
01.04.2013, 14:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2013, 14:42
Помогаю со студенческими работами здесь

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

Дан текст. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них
Дан текст. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru