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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Майра
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 24
06.03.2012, 21:22     Дан текст, подсчитать количество слов в данной строке #1
Пожалуйста помогите решить задачу на С++
Дан текст.
а) Подсчитать количество слов в данной строке;
б) Подсчитать количество букв а в последнем слове данной строки;
в) найти длину самого длинного слова.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 21:22     Дан текст, подсчитать количество слов в данной строке
Посмотрите здесь:

Дан текст в файле. Подсчитать в нем количество слов, имеющих длину меньше заданного числа. C++
C++ Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов)
Дан текст, найти количество слов и количество слов, у которых первый и последний символ совпадают C++
Требуется подсчитать количество слов в данной строке C++
Подсчитать количество слов в данной последовательности C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
06.03.2012, 21:39     Дан текст, подсчитать количество слов в данной строке #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <string>
#include <sstream>
#include <vector>
#include <iterator>
 
int main() 
{
    std::string line( "qwe, rty123 4567 qwerty" );
    std::vector < std::string > vec;
    std::istringstream ist( line );
    std::replace_if( line.begin(), line.end(), ispunct, ' ' );
    std::copy( std::istream_iterator < std::string >( ist ), std::istream_iterator < std::string >(), std::inserter( vec, vec.begin() ) );
    std::cout << "length of the longest word: " << std::max_element( vec.begin(), vec.end(), []( std::string &s, std::string &s0 ){ return s.size() < s0.size(); } ) -> size() << std::endl;
    std::cout << "letters in the last word: " << vec.rend().base() -> size() << std::endl;
    std::cout << "words: " << vec.size() << std::endl;
    return 0;
}
Майра
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 24
06.03.2012, 21:41  [ТС]     Дан текст, подсчитать количество слов в данной строке #3
огромное спасибо вам!
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 22:32     Дан текст, подсчитать количество слов в данной строке #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#define DELIMS " ,.;!?"
 
int main()
{
    setlocale(LC_ALL, "");
    char text[100];
    std::cout << "Введите строку текста :" << '\n';
    std::cin.getline(text, sizeof(text));
    char *token = strtok(text, DELIMS);
    int count = 0;
    int maxlen = 0;
 
    while (token != 0)
    {
        ++count;
        int len = strlen(token);
        int currentlen = strlen(token);
        token = strtok(0, DELIMS);
 
        if(currentlen > maxlen)
        {
            maxlen = currentlen;
        }
 
        if (token == 0)
        {
            std::cout << "Количество букв в последнем слове равно: " << len << '\n';
            std::cout << "Длина самого длинного слова равна: " << maxlen << '\n';
        }
 
        
    }
 
    std::cout << "Слов в тексте: " << count << '\n';
                         
    return EXIT_SUCCESS;
}
Yandex
Объявления
06.03.2012, 22:32     Дан текст, подсчитать количество слов в данной строке
Ответ Создать тему
Опции темы

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