Форум программистов, компьютерный форум CyberForum.ru

Подсчитать количество слов в данной последовательности - C++

Восстановить пароль Регистрация
 
Sermen29
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 23
26.12.2013, 02:59     Подсчитать количество слов в данной последовательности #1
Дана строка длиной n символов. Группы символов, разделенных пробелами (одним или несколькими), будем считать словами. Подсчитать количество слов в данной последовательности
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2013, 02:59     Подсчитать количество слов в данной последовательности
Посмотрите здесь:

Дан текст, подсчитать количество слов в данной строке C++
Требуется подсчитать количество слов в данной строке C++
C++ Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове
Подсчитать количество слов в данной последовательности C++
C++ Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове
C++ Дан текст. Подсчитать количество слов в данной строке
C++ Создать список из слов. Подсчитать количество слов, совпадающих с последним словом
C++ Как подсчитать сумму элементов данной последовательности через цикл?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
26.12.2013, 03:44     Подсчитать количество слов в данной последовательности #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <iterator>
#include <algorithm>
#include <string>
#include <cctype>
#include <boost/algorithm/string.hpp>
 
int main()
{
    std::string s("text      with          four  words");
    boost::algorithm::trim(s);
    
    std::cout << std::accumulate(s.begin() + 1, s.end(), int(s.size() > 0), 
        [](int init, const char &value) {
            char prev = *(&value - 1);
            return init + (std::isalpha(value) && std::isspace(prev));
        }
    );
    
    return EXIT_SUCCESS;
}
Bash
1
2
3
4
5
D:\Projects\c++\help>make
g++ cyberforum.cpp -o run.exe -std=c++11 -I"%BOOST_HOME%" -L"%BOOST_HOME%\lib"
 
D:\Projects\c++\help>run.exe
4
Добавлено через 13 минут
Красивое решение так и не нашел.
Yandex
Объявления
26.12.2013, 03:44     Подсчитать количество слов в данной последовательности
Ответ Создать тему
Опции темы

Текущее время: 01:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru