C/C++

Программирование на C++

Дан текст, состоящий из символьных строк-предложений. В конце каждого предложения стоит точка, между словами – ровно один пробел. Определить количество предложений длиннее трех слов. Помогите пожалуйста!!!
 #include  
using namespace std;

int main()
{
size_t num{}, spaces{};
char ch;
while (cin.get(ch))
{
switch (ch)
{
case ' ': spaces++; break;
case '.': num += spaces > 2; spaces = -1; break;
case '\n': cout
Бурцев Илья
Бурцев Илья
51 416
Лучший ответ
Заведи два счетчика один на слова, второй на предложеният.Перебирай посимвольно,
Найдешь пробел считай слово, найдешь точку,обнуляй счетчик слов и смотри сколько слов насчитал .Если больше трех увеличивай счетчик предложений, нет- иди дальше
 #include  
#include

int main() {
char text[] = "Это текст. Он состоит из нескольких предложений. Некоторые из них длиннее трех слов. А некоторые - нет. Точка ставится в конце каждого предложения.";

int count = 0; // счетчик предложений длиннее трех слов

char *sentence = strtok(text, "."); // разделить текст на предложения

while (sentence) {
int word_count = 0;
char *word = strtok(sentence, " "); // разделить предложение на слова

while (word) {
word_count++;
word = strtok(NULL, " "); // перейти к следующему слову
}

if (word_count > 3) {
count++;
}

sentence = strtok(NULL, "."); // перейти к следующему предложению
}

printf("Количество предложений длиннее трех слов: %d\n", count);

return 0;
}
Программа разделяет текст на предложения с помощью функции `strtok`, а затем разделяет каждое предложение на слова. Если количество слов в предложении больше трех, то увеличивается счетчик. В конце программы выводится количество предложений длиннее трех слов.