문자열에서 모음을 얻으려면 문자열의 각 문자를 반복해야 합니다. 여기서 포인터를 사용하여 문자열을 이동해야 합니다. 이를 위해서는 C 스타일 문자열이 필요합니다. 문자열이 str로 가리키는 경우 *str은 처음에 첫 번째 문자를 유지합니다. 그런 다음 str이 증가하면 *str은 다음 문자를 가리킵니다. 문자가 [a,e,i,o,u] 또는 [A, E, I, O, U]에 있으면 모음입니다. 그래서 우리는 수를 늘릴 것입니다
알고리즘
countVowels(str)
begin count := 0 for each character ch in str, do if ch is in [a,e,i,o,u] or [A, E, I, O, U], then count := count + 1 end if done return count end
예시
#include<iostream>
using namespace std;
int countVowels(const char *myStr){
int count = 0;
while((*myStr) != '\0'){
if(*myStr == 'a' || *myStr == 'e' || *myStr == 'i' || *myStr == 'o' || *myStr == 'u' || *myStr == 'A' || *myStr == 'E' || *myStr == 'I' || *myStr == 'O' || *myStr == 'U') {
count++;
}
myStr++;
}
return count;
}
main() {
string myStr;
cout << "Enter String: ";
cin >> myStr;
cout << "Number of Vowels: " << countVowels(myStr.c_str());
} 출력
Enter String: EDucation Number of Vowels: 5