// подключаем нужные нам библиотеки #include <iostream> #include <string> #include <vector> // функция поиска последней буквы в слове. Параметр функции - отдельное слово void out_char(std::string str) { // ищем букву с конца слова, пропуская точку или запятую std::string::reverse_iterator rit; for (rit = str.rbegin(); rit < str.rend(); ++rit) { if (*rit != '.' && *rit != ',') { std::cout << *rit; return; } } } int main() { std::string text; std::string::size_type pos = 0, pred_pos = 0; std::vector<std::string> words; // ввод текста с клавиатуры std::cout << "Enter text here: " << std::endl; std::getline(std::cin, text, '\n'); // цикл разделения всего введенного текста // на отдельные слова (функция substr). Слова храним в векторе. while ((pos = text.find_first_of(' ', pos)) < std::string::npos) { words.push_back(text.substr(pred_pos, pos - pred_pos)); pred_pos = pos++; } // последнее слово тоже добавим words.push_back(text.substr(pred_pos, text.length() - pred_pos)); // вызываем нашу функцию вывода посл. буквы для каждого слова for_each(words.begin(), words.end(), out_char); return 0; } |