Вопрос задан 07.06.2023 в 21:54. Предмет Информатика. Спрашивает Ежелева Анна.

Смотрите условие задачи №28. Подсчитать количество слов, содержащих k гласных букв (k-задается с

экрана). C++ Без использования string
0 0
Перейти к ответам

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

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

Объяснение:

#include <iostream>

#include <string>

using namespace std;

// функция для проверки, является ли символ гласной буквой

bool isVowel(char c) {

c = tolower(c); // приводим символ к нижнему регистру для удобства сравнения

return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';

}

int main() {

int k, count = 0;

string input;

// считываем целое число k с экрана

cout << "Enter the number of vowels to search for: ";

cin >> k;

// считываем входную строку

cout << "Enter a string: ";

cin.ignore(); // пропускаем символ новой строки, который остался в буфере ввода

getline(cin, input);

// разбиваем входную строку на слова и проверяем каждое слово на наличие k гласных букв

for (int i = 0; i < input.length(); i++) {

if (input[i] != ' ') {

int vowelCount = 0;

while (i < input.length() && input[i] != ' ') {

if (isVowel(input[i])) {

vowelCount++;

}

i++;

}

if (vowelCount == k) {

count++;

}

}

}

// выводим результат на экран

cout << "Number of words containing " << k << " vowels: " << count << endl;

return 0;

}

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

Привет! Вот пример решения задачи на подсчет количества слов, содержащих k гласных букв в C++, без использования строки:

cpp
#include <iostream> bool isVowel(char c) { c = tolower(c); return (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); } int countVowelWords(int k) { int count = 0; bool inWord = false; int vowelCount = 0; char c; while ((c = getchar()) != EOF) { if (isalpha(c)) { if (!inWord) { inWord = true; vowelCount = 0; } if (isVowel(c)) { vowelCount++; } } else { if (inWord && vowelCount == k) { count++; } inWord = false; } } return count; } int main() { int k; std::cout << "Enter the value of k: "; std::cin >> k; std::cin.ignore(); // Ignore the newline character std::cout << "Enter the text: "; int result = countVowelWords(k); std::cout << "Number of words containing " << k << " vowels: " << result << std::endl; return 0; }

В этом примере мы используем функцию isVowel, которая проверяет, является ли символ гласной буквой. Затем в функции countVowelWords мы считываем символы с помощью getchar и проверяем каждый символ. Если символ является буквой, мы проверяем, находимся ли мы внутри слова или нет. Если мы находимся внутри слова, мы считаем количество гласных букв в этом слове и проверяем, равно ли оно k. Если да, то увеличиваем счетчик count. Когда мы встречаем символ, не являющийся буквой, и мы были внутри слова, мы проверяем, равно ли количество гласных букв k. Если да, то увеличиваем счетчик count. В конце ввода текста выводим количество слов, содержащих k гласных букв.

Пользователь будет приглашен ввести значение k (количество гласных букв), а затем текст для анализа. Программа выведет количество слов, содержащих k гласных букв.

0 0

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

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

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