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