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

Частотный словарь. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.66
евпатий
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 17
18.12.2011, 10:31     Частотный словарь. #1
здравствуйте помогите плиз решить последнюю задачу для зачета.вот условие:
дан текст.получить сколько раз в нем присутствует каждое слово.(частотный словарь)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
18.12.2011, 11:55     Частотный словарь. #2
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
39
40
41
42
43
#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
#include <iterator>
#include <sstream>
#include <map>
 
int main()
{
    std::ifstream ifs("1.txt");
    if(ifs)
    {
        std::string s(std::istreambuf_iterator<char>(ifs.rdbuf()), std::istreambuf_iterator<char>());
        for(std::string::iterator it = s.begin(); it != s.end(); ++it)
        {
            if(!isalpha(*it))
            {
                *it = ' ';
            }
            else if(isupper(*it))
            {
                *it = tolower(*it);
            }
        }
        std::map<std::string, std::size_t> map;
        std::istringstream iss(s);
        while(iss >> s)
        {
            ++map[s];
        }
        for(std::map<std::string, std::size_t>::const_iterator it = map.begin(); it != map.end(); ++it)
        {
            std::cout << it->first << ' ' << it->second << std::endl;
        }
    }
    else
    {
        std::cerr << "File not found\n";
    }
    ifs.close();
    return 0;
}
евпатий
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 17
18.12.2011, 20:45  [ТС]     Частотный словарь. #3
огромное спасибо выручил
евпатий
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 17
26.12.2011, 08:29  [ТС]     Частотный словарь. #4
уважаемые программисты помогите мне с решением 1 задачи .необходимо в с++ написать программу,которая посчитает сколько раз слово встретилось в предложении.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2011, 08:49     Частотный словарь. #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <iostream>
#include <iterator>
 
int main()
{
    std::string sentence;
    std::cout << "Enter the sentence" << std::endl;
    std::getline(std::cin, sentence);
    std::stringstream stream(std::stringstream::in | std::stringstream::out);
    stream << sentence;
    std::vector<std::string> text((std::istream_iterator<std::string>(stream)),
        std::istream_iterator<std::string>());
    std::cout << "Enter the word" << std::endl;
    std::cin >> sentence;
    std::cout << "Answer: " << std::count(text.begin(), text.end(), sentence) << std::endl;
    system("Pause");
    return EXIT_SUCCESS;
}
Yandex
Объявления
26.12.2011, 08:49     Частотный словарь.
Ответ Создать тему
Опции темы

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