#include #include #include using namespace std; void check(string s){ bool vowel; bool vowelflag = false; bool valid1 = true; int state = 0; char previous = 0; for(int i = 0 ; i < s.size() ; i ++){ if(s[i] == 'a' || s[i] == 'i' || s[i] == 'u' || s[i] == 'e' || s[i] == 'o'){ vowel = true; }else{ vowel = false; } if(vowel == true) vowelflag = true; if(vowel == true){ switch(state){ case 0: state = 1; break; case 1: state = 2; break; case 2: //cout << "boin" << endl; valid1 = false; state = 3; break; case 3: break; case 4: state = 1; break; case 5: state = 1; break; case 6: state = 1; break; } }else{ switch(state){ case 0: state = 4; break; case 1: state = 4; break; case 2: state = 4; break; case 3: state = 4; break; case 4: state = 5; break; case 5: valid1 = false; //cout << "siin" << endl; state = 6; break; case 6: state = 1; break; } } if(previous == s[i] && previous != 'e' && previous != 'o') valid1 = false; previous = s[i]; } if(vowelflag == true && valid1 == true){ cout << "<" << s << "> is acceptable." << endl; }else{ cout << "<" << s << "> is not acceptable." << endl; } } int main(void) { ifstream in("say.txt"); string s; while(in >> s){ if(s == "end"){ return 0; } check(s); } return 0; }