Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

last_wish

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
// подключаем нужные нам библиотеки
#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;
}

Всего записей: 109 | Зарегистр. 26-10-2006 | Отправлено: 00:54 02-12-2007 | Исправлено: last_wish, 00:55 02-12-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru