C/C++

Дана строка, в которой слова разделены или одним пробелом, или запятой и пробелом. C++

Дана строка, в которой слова разделены или одним пробелом,
или запятой и пробелом. Подсчитайте, сколько в каждом слове букв, совпадающих с его первой буквой.
 #include  
#include
#include
#include
#include
using namespace std;
int main() {
cout > word) {
if (word.back() == ',') word.pop_back();
auto front = tolower(word.front());
auto comp = [front](const char letter) {
return tolower(letter) == front;
};
auto n = count_if(word.begin(), word.end(), comp);
cout
Сергей Николаев
Сергей Николаев
58 589
Лучший ответ
 #include   
using namespace std;

int main()
{
char ch, letter = 0;
int cnt = 0;
do
{
ch = cin.get();
if (ch == ' ' || ch == '\n')
{
letter = 0;
cout
#include <iostream>
#include <string>

using namespace std;

int main()
{
string s; // строка, в которой слова разделены или одним пробелом, или запятой и пробелом

// запросите у пользователя строку s
cout << "Введите строку: ";
getline(cin, s);

// разбейте строку на слова
string word;
int count = 0;
for (int i = 0; i < s.size(); i++)
{
// если текущий символ - буква или цифра, добавьте его к слову
if (isalnum(s[i]))
word += s[i];
// иначе, если слово не пустое, посчитайте количество букв, совпадающих с первой буквой слова
else if (!word.empty())
{
for (int j = 0; j < word.size(); j++)
if (tolower(word[0]) == tolower(word[j]))
count++;

// выведите количество букв, совпадающих с первой буквой слова
cout << "Количество букв, совпадающих с первой буквой слова '" << word << "': " << count << endl
Андрей Чирков
Андрей Чирков
2 615