Подсчитайте количество гласных букв в веденной пользователем строке. Для подсчета используйте 4 способа:
– count_if и find
– count_if и цикл for
– цикл for и find
– 2 цикла for
cpp
#include <iostream>
#include <string>
#include <algorithm>
bool isVowel(char c) {
std::string vowels = "aeiouAEIOU";
return (vowels.find(c) != std::string::npos);
}
int main() {
std::string str;
std::cout << "Введите строку: ";
std::getline(std::cin, str);
int vowelCount = std::count_if(str.begin(), str.end(), isVowel);
std::cout << "Количество гласных букв: " << vowelCount << std::endl;
return 0;
}
В этом примере мы используем функцию `count_if` из стандартной библиотеки `algorithm`, которая позволяет подсчитать количество элементов в заданном диапазоне, удовлетворяющих определенному условию. В качестве условия мы передаем функцию `isVowel`, которая проверяет, является ли символ гласной буквой. Для проверки используется функция `find`, которая возвращает позицию символа в строке гласных букв. Если позиция не равна `npos`, то символ найден.
2. Способ с использованием функции `count_if` и цикла `for`:
cpp
#include <iostream>
#include <string>
#include <algorithm>
bool isVowel(char c) {
std::string vowels = "aeiouAEIOU";
return (vowels.find(c) != std::string::npos);
}
int main() {
std::string str;
std::cout << "Введите строку: ";
std::getline(std::cin, str);
int vowelCount = 0;
for (char c : str) {
if (isVowel(c)) {
vowelCount++;
}
}
std::cout << "Количество гласных букв: " << vowelCount << std::endl;
return 0;
}
В этом примере мы используем функцию `count_if`, чтобы подсчитать количество гласных букв. Однако, вместо использования цикла `for_each`, мы используем цикл `for` для перебора всех символов в строке `str`. Внутри цикла проверяем, является ли текущий символ гласной буквой с помощью функции `isVowel`, и прибавляем `1` к счетчику `vowelCount`, если условие истинно.
3. Способ с использованием цикла `for` и функции `find`:
cpp
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str;
std::cout << "Введите строку: ";
std::getline(std::cin, str);
std::string vowels = "aeiouAEIOU";
int vowelCount = 0;
for (char c : str) {
if (vowels.find(c) != std::string::npos) {
vowelCount++;
}
}
std::cout << "Количество гласных букв: " << vowelCount << std::endl;
return 0;
}
В этом примере мы определяем строку `vowels`, содержащую гласные буквы, и инициализируем счетчик гласных `vowelCount` с нулем. В цикле `for` мы перебираем каждый символ в строке `str` и проверяем, совпадает ли символ со строкой гласных. Если символ найден, мы увеличиваем значение счетчика на `1`.
4. Способ с использованием двух циклов `for`:
cpp
#include <iostream>
#include <string>
int main() {
std::string str;
std::cout << "Введите строку: ";
std::getline(std::cin, str);
std::string vowels = "aeiouAEIOU";
int vowelCount = 0;
for (char c : str) {
for (char v : vowels) {
if (c == v) {
vowelCount++;
}
}
}
std::cout << "Количество гласных букв: " << vowelCount << std::endl;
return 0;
}
В этом примере используются два вложенных цикла `for`. Внешний цикл перебирает каждый символ в строке `str`, а внутренний цикл перебирает все гласные символы в строке `vowels`. Если символы совпадают, счетчик `vowelCount` увеличивается на `1`. В конце программа выводит количество гласных букв во введенной строке.
Эти способы позволяют подсчитать количество гласных букв в строке, используя различные комбинации функций и циклов. Выбор способа зависит от предпочтений программиста и требований конкретной задачи.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет