Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.12.2016
Сообщений: 6
1

Найти слова, начинающиеся и оканчивающиеся на одну и ту же букву; слова, содержащие букву, встречающуюся N раз

30.12.2016, 00:08. Просмотров 1703. Ответов 5
Метки нет (Все метки)

Пусть задано множество строк. Вывести:
а) слова, начинающиеся и оканчивающиеся на одну и ту же букву
б) слова, которые содержат букву, встречающуюся в тексте максимальное количество раз
в) слова, которые содержат букву, встречающуюся в тексте минимальное количество раз
Буду Благодарен (с++)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2016, 00:08
Ответы с готовыми решениями:

Слова,начинающиеся и оканчивающиеся на одну и ту же букву;
Дано предложение.Вывести на экран: а)слова,начинающиеся и оканчивающиеся на одну и ту же букву;...

Вывести слова сообщения начинающиеся и оканчивающиеся на одну и ту же букву
Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и...

Вывести на экран все слова, начинающиеся и оканчивающиеся на одну и ту же букву
Вывести на экран все слова, начинающиеся и оканчивающиеся на одну и ту же букву. Text.java...

Определить, есть ли в строке слова, начинающиеся и оканчивающиеся на одну и ту же букву
Дана строка символов. Определить, есть ли в ней слова, начинающиеся и оканчивающиеся на одну и ту...

5
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
30.12.2016, 15:58 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
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
#include <algorithm>
#include <cctype>
#include <functional>
#include <iostream>
#include <iterator>
#include <sstream>
#include <string>
#include <unordered_map>
#include <vector>
 
struct HasSuchChar
{
    HasSuchChar(const char c) : m_char(c) {}
    bool operator()(const std::string &str)
    {
        return str.find(m_char) != std::string::npos || 
               str.find(static_cast<char>(toupper(m_char))) != std::string::npos;
    }
protected:
    const char m_char;
};
 
int main()
{
    const std::vector<std::string> lines = { "Eniki beniki elie", "Hello world", "Apple orange" };
    std::vector<std::string> words;
    std::unordered_map<char, int> chars;
    for (const auto &line : lines)
    {
        std::istringstream ist(line);
        for (std::string word; ist >> word; words.push_back(word))
            for (const char c : word)
                if (isalpha(c))
                    chars[static_cast<char>(tolower(c))]++;
    }
 
    char cMin = chars.begin()->first, cMax = cMin;
    for (const auto &p : chars)
    {
        if (chars[cMin] > p.second)
            cMin = p.first;
        if (chars[cMax] < p.second)
            cMax = p.first;
    }
 
    const std::function<bool(const std::string &)> preds[] = {
        [](const std::string &str) { return str.front() == str.back(); },
        HasSuchChar(cMax),
        HasSuchChar(cMin)
    };
    for (const auto pred : preds)
    {
        std::copy_if(words.begin(), words.end(), std::ostream_iterator<std::string>(std::cout, " "), pred);
        std::cout << std::endl;
    }
}
1
0 / 0 / 0
Регистрация: 30.12.2016
Сообщений: 6
07.01.2017, 12:56  [ТС] 3
А можно написать в более простой форме? и разделить на модули, пожалуйста
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
07.01.2017, 22:53 4
Цитата Сообщение от Vlad270215 Посмотреть сообщение
А можно написать в более простой форме?
Можно, в более объёмной форме.
Цитата Сообщение от Vlad270215 Посмотреть сообщение
и разделить на модули, пожалуйста
А что тут делить на модули? Вынести функтор в отдельный файл? И смысл?
1
0 / 0 / 0
Регистрация: 30.12.2016
Сообщений: 6
18.01.2017, 14:42  [ТС] 5
Можно написать на начинающем уровне?
И по функциям разделить их
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
18.01.2017, 14:47 6
Цитата Сообщение от Vlad270215 Посмотреть сообщение
Можно написать на начинающем уровне?
Можно. Пишите.

У всех разный начинающий уровень.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2017, 14:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти слова начинающиеся и оканчивающиеся на букву Т
Задать произвольную строку. Группу символов, разделенную с одной или с обеих сторон одним или...

Скопировать из одного файла в другой все строки, не содержащие слова, начинающиеся на одну букву
1) Скопировать из файла F1 в файл F2 все строки, которые не содержат слова, начинающиеся на одну...

Найти слова заканчивающиеся и начинающиеся на одну букву
Ребят, помогите облегчить код: &quot;В строке найти слова, начинающиеся и заканчивающиеся одной буквой&quot;...

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


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

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

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