Вопрос задан 31.07.2023 в 02:38. Предмет Информатика. Спрашивает Асилова Аяулым.

Найти количество слов, оканчивающихся на букву а . C++ . Союз "а" - не слово, учесть ситуации,

когда после слова, оканчивающегося на а стоит "," "." "!" и "?"
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Муратова Дмитрий.

#include <iostream>
#include <Windows.h>
using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

char s[128]; size_t i = 1; int c=0;
cin.getline(s, 128); s[strlen(s)] = ' ';
for(size_t i=1; i<strlen(s); i++)
if (s[i] == 'а'  && s[i - 1]!=' ' && (s[i + 1] == ' ' || s[i + 1] == ',' || s[i + 1] == '.' || s[i + 1] == '!' || s[i + 1] == '?'))
c++;
cout << c << endl;
system("pause");
    return 0;
}

Писал на Visual Studio 2017
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам нужно будет пройти по каждому слову в тексте и проверить, оканчивается ли оно на букву "а", и учитывать условия, когда после такого слова стоит ",", ".", "!" или "?". Вот пример программы на C++, которая решает эту задачу:

cpp
#include <iostream> #include <string> using namespace std; bool isWordEndingWithA(string word) { if (word.empty()) return false; char lastChar = word.back(); return (lastChar == 'a' || lastChar == 'A'); } bool isValidEnding(char ch) { return (ch == ',' || ch == '.' || ch == '!' || ch == '?'); } int countWordsEndingWithA(string text) { int count = 0; bool isPrevWordEndingWithA = false; string word; for (char ch : text) { if (isalpha(ch)) { word.push_back(ch); } else { if (isWordEndingWithA(word)) { if (!isPrevWordEndingWithA && !isValidEnding(ch)) { count++; } } isPrevWordEndingWithA = isWordEndingWithA(word); word.clear(); } } // Check the last word after the loop if (isWordEndingWithA(word) && !isPrevWordEndingWithA) { count++; } return count; } int main() { string text = "Эта программа написана на языке C++. Она считает количество слов, оканчивающихся на букву а."; int result = countWordsEndingWithA(text); cout << "Количество слов, оканчивающихся на букву 'а': " << result << endl; return 0; }

Обратите внимание, что в данном коде мы учитываем регистр символов, поэтому слова, оканчивающиеся на "А" также будут учтены. Если это не требуется, просто удалите условие lastChar == 'A' в функции isWordEndingWithA.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос