Để lấy các nguyên âm từ một chuỗi, chúng ta phải lặp qua từng ký tự của chuỗi. Ở đây chúng ta phải sử dụng con trỏ để di chuyển qua chuỗi. Đối với điều này, chúng ta cần C kiểu chuỗi. Nếu chuỗi được trỏ bởi str, thì * str sẽ giữ ký tự đầu tiên ở đầu. Sau đó, nếu str được tăng lên, * str sẽ trỏ đến ký tự tiếp theo, v.v. Nếu ký tự nằm trong [a, e, i, o, u] hoặc [A, E, I, O, U] thì nó là nguyên âm. Vì vậy, chúng tôi sẽ tăng số lượng
Thuật toán
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
Ví dụ
#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()); }
Đầu ra
Enter String: EDucation Number of Vowels: 5