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

Сколько раз слово встречается в предложении - C++

Восстановить пароль Регистрация
 
Стас45rus
1 / 1 / 0
Регистрация: 12.04.2010
Сообщений: 121
27.08.2012, 21:29     Сколько раз слово встречается в предложении #1
Здравствуйте уважаемые программисты. Помогите решить задачу или хотя бы намётки дайте.
"Для каждого из слов заданного предложения указать, сколько раз оно встречается в предложении."
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2012, 21:29     Сколько раз слово встречается в предложении
Посмотрите здесь:

Для каждого из слов данного текста указать, сколько раз оно встречается в предложении C++
сколько раз слово встречается в предложении C++
C++ сколько раз встретилось в предложении введенное с клавиатуры слово
C++ Задано предложение y. Проверить, сколько раз встречается данное слово х в предложении у.
C++ Для каждого из слов данного текста указать, сколько раз оно встречается в предложении
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
27.08.2012, 22:02     Сколько раз слово встречается в предложении #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
44
45
46
47
48
49
50
51
52
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
typedef struct tagWord
{
    char word[256];
    int count;
} WORD;
 
int main()
{
    static char str[256] = "apple fruit apple fruit fruit orange crunch crunch crunch crunch";
 
    char** ppsz = new char*[256];
    memset((void*)ppsz, 0x00, 4 * 256);
 
    char* word = strtok(str," ");
    for (int i = 0; word != NULL && i < 256; i++)
    {
        ppsz[i] = new char[256];
        strcpy(ppsz[i], word);
        word = strtok(NULL," ");
    }
 
    WORD* pWords = new WORD[256];
    memset((void*)pWords, 0x00, sizeof(WORD) * 256);
 
    for (int k = 0, m = 0; ppsz[k] != NULL; k++)
    {
        int count = 0;
        for (int q = k; ppsz[q] != NULL; q++)
            if (!strcmp(ppsz[q], ppsz[k])) count++;
 
        bool found = false;
        for (int n = m-1; n >= 0 && !found; n--)
            found = !strcmp(pWords[n].word, ppsz[k]) ? 1 : 0;
 
        if (found == false)
        {
            strcpy(pWords[m].word, ppsz[k]);
            pWords[m++].count = count;
        }
    }
 
    for (int z = 0; strcmp("\0",pWords[z].word) < 0; z++)
        printf("word = %s count = %d\n",pWords[z].word, pWords[z].count);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/e34242...db0d2f9d7a94e1
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
27.08.2012, 22:35     Сколько раз слово встречается в предложении #3
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
#include <iostream>
#include <map>
#include <string>
#include <algorithm>
#include <sstream>
#include <cctype>
#include <iomanip>
 
int main()
{
    std::string s("one,two   three. one three");
    std::string::iterator sit, sitEnd;
    for(sit = s.begin(), sitEnd = s.end(); sit != sitEnd; ++sit)
    {
        if(!std::isalpha(*sit))
        {
            *sit = ' ';
        }
    }
    std::stringstream ss(s);
    std::map<std::string, std::size_t> map;
    while(ss >> s)
    {
        ++map[s];
    }
    std::map<std::string, std::size_t>::const_iterator cit, citEnd;
    for(cit = map.cbegin(), citEnd = map.cend(); cit != citEnd; ++cit)
    {
        std::cout << std::setw(10) << std::left << cit->first << cit ->second << std::endl;
    }
    std::cin.sync();
    std::cin.get();
    return 0;
}
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
28.08.2012, 07:49     Сколько раз слово встречается в предложении #4
Цитата Сообщение от Стас45rus Посмотреть сообщение
хотя бы намётки дайте.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <cstring>
#include <exception>
 
struct Node
{
        char *word;
        int count;
        Node *next;
};
 
Node *CreateList( Node *node, char *inword )
{
    int  index = 0;
 
    if ( node == NULL)
        {           
                try
                { node = new Node; } 
                catch ( std::bad_alloc&)
                {
                    std::cout << "Error allocating memory." << std::endl;
                }
 
                try
                {   node->word = new char[ strlen ( inword ) + 1 ]; }
                catch ( std::bad_alloc&)
                {
                    std::cout << "Error allocating memory." << std::endl;
                }
            strcpy ( node->word, inword );
            node->count = 1;
            node->next = NULL;
    }
    else if
    
        ((  index = strcmp( inword, node->word )) == 0 )
       //  if ( index == 0 )
             node->count++;
         else 
             node->next = CreateList( node->next, inword);
         
    return ( node );
    
}
 
 
int ShowList ( Node * node )
{
    if ( node != NULL )
    {   
        std::cout << node->word 
                        << "  " << node->count
                             << std::endl;
        ShowList ( node->next );
    }
  return ( 0 );
}
 
void DeleteList( Node *node)
{
    if(node!= NULL)
    {
        DeleteList(node->next);
        delete [] node->word;
        delete node;
    }
}
 
int main()
{
 
    char str[] ={"The latest Limited Edition Artist Series mice Artist Series mice plus new eye-popping."};
    char *word;
    Node* pnode = NULL;
 
    word = strtok( str, " ,.!?()");
    while ( word )
    {
        pnode = CreateList ( pnode , word );
        word = strtok( NULL, " ,.!?()");
    }
   
    ShowList ( pnode );
    DeleteList( pnode );
 
    return ( 0 );
}
Yandex
Объявления
28.08.2012, 07:49     Сколько раз слово встречается в предложении
Ответ Создать тему
Опции темы

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