Привет! Меня зовут Иван, и я хотел рассказать о четырех различных способах подсчета количества гласных букв в строке на языке программирования C . Все эти способы я проверил на деле и могу поделиться с вами своим опытом.
1. Использование цикла
Первый способ, который я попробовал ⎻ это использование цикла для перебора каждого символа в строке. Внутри цикла, я проверял каждый символ на гласность, сравнивая его с набором гласных букв (A, E, I, O, U и другими, в зависимости от вашей локализации). Если символ был гласным, я увеличивал счетчик на единицу. В конце работы цикла, счетчик содержал количество гласных букв в строке.
#include nlt;iostreamngt;
using namespace std;
int countVowels(string str) {
int count 0;
for (int i 0; i < str.length; i ) {
char c toupper(str[i]);
if (c 'A' || c 'E' || c 'I' || c 'O' || c 'U') {
count ;
}
}
return count;
}
int main {
string str;
cout << ″Введите строку⁚ ″;
getline(cin, str);
int vowelsCount countVowels(str);
cout << ″Количество гласных букв⁚ ″ << vowelsCount << endl;
return 0;
}
2. Использование счетчика в цикле
Второй способ ⸺ использование счетчика внутри цикла, чтобы подсчитывать количество гласных букв. Вместо того, чтобы увеличивать счетчик на единицу каждый раз внутри условия if, мы можем использовать оператор для увеличения счетчика на более чем одну единицу за раз. В данном случае, я использую счетчик как числовую переменную, в которую прибавляется 1 каждый раз٫ когда символ является гласной.
#include nlt;iostreamngt;
using namespace std;
int countVowels(string str) {
int count 0;
for (int i 0; i < str.length; i ) {
char c toupper(str[i]);
if (c 'A' || c 'E' || c 'I' || c 'O' || c 'U') {
count 1;
}
}
return count;
}
int main {
string str;
cout << ″Введите строку⁚ ″;
getline(cin, str);
int vowelsCount countVowels(str);
cout << ″Количество гласных букв⁚ ″ << vowelsCount << endl;
return 0;
}
3. Использование функции count_if
Третий способ, который я попробовал, ⸺ использование функции count_if из библиотеки algorithm
для подсчета количества гласных букв. С помощью этой функции, мы можем передать диапазон символов в функцию-предикат, и она вернет количество элементов, удовлетворяющих условию функции-предиката.
#include nlt;iostreamngt;
#include nlt;algorithmngt;
using namespace std;
bool isVowel(char c) {
c toupper(c);
return (c 'A' || c 'E' || c 'I' || c 'O' || c 'U');
}
int countVowels(string str) {
return count_if(str.begin, str.end, isVowel);
}
int main {
string str;
cout << ″Введите строку⁚ ″;
getline(cin, str);
int vowelsCount countVowels(str);
cout << ″Количество гласных букв⁚ ″ << vowelsCount << endl;
return 0;
}
4. Использование регулярных выражений
Четвертый способ ⎻ использование регулярных выражений для поиска гласных букв в строке. Регулярные выражения ⸺ это шаблоны, которые определяют набор символов, соответствующих данному шаблону. В этом случае, я использовал регулярное выражение, которое ищет все гласные буквы (A, E, I, O, U).
#include nlt;iostreamngt;
#include nlt;regexngt;
using namespace std;
int countVowels(string str) {
regex vowelsRegex(″[AEIOU]″, regex_constants⁚⁚icase);
return distance(sregex_iterator(str.begin, str.end, vowelsRegex),
sregex_iterator);
}
int main {
string str;
cout << ″Введите строку⁚ ″;
getline(cin, str);
int vowelsCount countVowels(str);
cout << ″Количество гласных букв⁚ ″ << vowelsCount << endl;
return 0;
}
Таким образом, я попробовал четыре различных способа подсчета количества гласных букв в строке на языке программирования C ; Каждый из этих способов имеет свои преимущества и может быть использован в зависимости от конкретной задачи и предпочтений разработчика.