#include
#include
#include
using namespace std;
class FindVowelWords{
vector input; // тут будут лежать слова для обработки
vector output; // тут будут лежать обработанные слова
vector vowels; // а тут глассные буквы
public:
// ...
FindVowelWords(const string& inputStr){
vowels = {'a', 'A', 'o', 'O', 'i', 'I', 'u', 'U', 'e', 'E'}; // определяем вектор с гласнымы
boost::split(input, inputStr, [](char c){return c == ' ';}); // разбиваем воходную строку на слова
}
// поиск слов, которые начинаются с гласных
void handle(){
for(auto const& word : input){ // проходимся по всем словам
for(auto const& vowel : vowels){ // проходимся по всем гласным
if(word.at(0) == vowel){
output.push_back(word); // если первая буква слова - гласная, то заносим слово в результирующий вектор
}
}
}
}
// вывод результата
void printOutput() const{
for(auto const& item : output){
cout << item << endl;<br> }
}
// вывод входных данных
void printInput(){
for(auto const& item : input){
cout << item << ' ';<br> }
}
int getOutputSize(){
return output.size();
}
};
int main(){
string test = "Don't be arfraid, just try to understand this code and you'll be a good programmer!";
FindVowelWords findIt(test);
cout << "You have entered this string: " << endl;<br> findIt.printInput();
cout << endl << endl;<br>
findIt.handle();
cout << "Words that begin with a vowel: " << endl;<br> findIt.printOutput();
cout << endl;<br> cout << "number of words have been found: " << findIt.getOutputSize() << endl;<br> return 0;
}