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

Подсчёт слов в предложении, оканчивающиеся на разные буквы

27.05.2018, 13:26. Показов 1057. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
У меня возникли проблемы в решении данной задачи: подсчитать сколько раз в каждом предложении встречаются слова, оканчивающиеся на разные буквы.
В интернете нашел решение с выводом слов, оканчивающиеся на гласные буквы, но я не знаю как подсчитать и вывести слова, которые заканчиваются на разные буквы...
Буду очень благодарен за помощь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2018, 13:26
Ответы с готовыми решениями:

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

Подсчет слов в каждом предложении
Вводится строка, программа должна подсчитать количество слов в каждом предложении . Как это...

Подсчёт частоты слов в предложении
Я в языке Haskell понимаю очень ничего! Есть задача написать прогу, которая в введённом...

Подсчет количества слов в предложении
Здравствуйте. Помогите, пожалуйста, с лабой. 1. Дана строка символов. Распечатать слова, отличные...

1
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
27.05.2018, 14:07 2
Лучший ответ Сообщение было отмечено jesper как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <unordered_map>
#include <string>
#include <regex>
#include <algorithm>
 
int main()
{
    std::unordered_map<std::string, int>diffLett{};
    const std::string sentence{"I have problems in solving this problem: count how many times in each sentence there are words ending in different letters."};
    std::regex reg{R"((?:^|[\s\W]*)(?:[\w\d]*)(\w|d)[[:punct:]]?(?=$|[\s\W\D]*))"};
    for(auto it=std::sregex_iterator{sentence.begin(), sentence.end(), reg}; it!=std::sregex_iterator{}; it++)
    {
        diffLett[it->str(1)]++;
    }
    
    std::cout<<count_if(diffLett.cbegin(), diffLett.cend(), [](const std::pair<const std::string,int> &p){
        return p.second==1;
    });
}
Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <sstream>
#include <unordered_map>
#include <string>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::unordered_map<char, int>diffLett{};
    const std::string sentence{"I have problems in solving this problem: count how many times in each sentence there are words ending in different letters."};
    std::stringstream sbuf{sentence};
    for_each(std::istream_iterator<std::string>(sbuf),{},[&diffLett](const std::string & str){
        if(ispunct(str.back())){
            diffLett[str[str.length()-2]]++;
        } else  diffLett[str.back()]++;
    });
    
    std::cout<<count_if(diffLett.cbegin(), diffLett.cend(), [](const std::pair<const char,int> &p){
        return p.second==1;
    });
}
1
27.05.2018, 14:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2018, 14:07
Помогаю со студенческими работами здесь

Подсчет количества слов в предложении
Дана строка, содержащая несколько слов, разделенных одним пробелом. В начале строки и в конце...

Подсчет количества слов в предложении
program stroki; var s1, s2: string; i, k1, k2: byte; begin write('Введите первое...

Подсчет слов в предложении(функция)
Условие: Создать функию подсчета кол-ва слов в предложении, и использовать ее(функцию) для...

Подсчёт количества слов в предложении
Помогите пожалуйста, нужно написать программу ,которая посчитает сколько слов в предложении


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru