Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

포인터를 사용하여 문자열의 모음을 계산하는 C++ 프로그램?

<시간/>

문자열에서 모음을 얻으려면 문자열의 각 문자를 반복해야 합니다. 여기서 포인터를 사용하여 문자열을 이동해야 합니다. 이를 위해서는 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