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

Строки - подсчитать максимальное количество повторяющихся слов - C++

Восстановить пароль Регистрация
 
Gaserd
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 18
19.05.2012, 11:07     Строки - подсчитать максимальное количество повторяющихся слов #1
Привет всем , помогите кто-нибудь вот с этой задачей, а то у меня чего-то вообще ничего не получается!

Задание №22
Описание задания: В строке (char str[81]) подсчитать максимальное кол-во повторяющихся подряд слов. Разделителями слов могут быть следующие символы: ! '' (двойные кавычки) ; : ? - . , [пробел], остальные символы считаются частью слов. Два одинаковых слова считать идущими подряд, если они разделены только пробелами.
Формат входных данных. [строка]
Формат выходных данных. [максимальное кол-во повторяющихся слов], целое число. Если повторяющихся слов нет, 0 повторений.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 11:07     Строки - подсчитать максимальное количество повторяющихся слов
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.05.2012, 19:53     Строки - подсчитать максимальное количество повторяющихся слов #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
#include <string.h>
#include <locale.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
 
    static char* line = "man dance bla bla bla dance of the man\0";
 
    char** pwords = new char*[256];
    memset((void*)pwords, 0x00, 256);
 
    int nwords = 0; char* buf = line;
    while (*line != '\0' && 
        (buf = strpbrk(buf,"!\";:?-., ")) != NULL)
    {
        int index = 0; char temp[256] = "\0";
        while (*line != *buf && *line != '\0') 
            temp[index++] = *line++;
        temp[index] = '\0';
 
        pwords[nwords] = new char[256];
        strcpy_s(pwords[nwords++],256,temp);
 
        line++;
    }
 
    int max_count = 0, max_index = 0;
    for (int index = 0; pwords[index] != NULL; index++)
    {
        bool bFound = false;
        for (int rindex = index-1; rindex >= 0 && !bFound; rindex--)
            bFound = (!strcmp(pwords[rindex],pwords[index])) ? 1 : 0;
 
        int ncount = 0, nindex = index;
        while (pwords[nindex] != NULL && bFound != true)
            if (!strcmp(pwords[nindex++],pwords[index]))
                ncount++;
 
        if (bFound == false)
            printf("%s count = %d\n",pwords[index],ncount);
        if (ncount > max_count && bFound == false)
         { max_count = ncount; max_index = index; }
    }
 
    printf("\nСлово \"%s\" имеет максимум повторений (сount = %d)\n",
        pwords[max_index],max_count);
}
http://liveworkspace.org/code/e9a2e4...bb17b90248fbb7
Yandex
Объявления
19.05.2012, 19:53     Строки - подсчитать максимальное количество повторяющихся слов
Ответ Создать тему
Опции темы

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