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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gaserd
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 18
#1

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

19.05.2012, 11:07. Просмотров 893. Ответов 1
Метки нет (Все метки)

Привет всем , помогите кто-нибудь вот с этой задачей, а то у меня чего-то вообще ничего не получается!

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

Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину. - C++
Помогите сделать программу, нужно чтоб была хотя бы одна подпрограмма. Желательно на СИ. Подсчитать количество слов и определить и...

Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину. - C++
Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину. Помогите...

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

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

Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове - C++
Неправильно считает количество букв в наибольшем слове. #include <iostream> #include <cstdio> #include <cstring> using...

Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове - C++
Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в...

1
zitxbit
88 / 740 / 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/e9a2e49a3df886226ebb17b90248fbb7
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2012, 19:53
Привет! Вот еще темы с ответами:

Количество повторяющихся слов - C++
Всем доброго времени суток! Дано задание подсчитать количество слов в тексте и их длину, а также количество повторяющихся слов. Первые два...

Найти ошибку: удаление повторяющихся слов из строки - C++
Написал программу, которая должна удалить из строки повторяющиеся слова. слова разделены только пробелом компилятор ни на что не...

Создать список из слов. Подсчитать количество слов, совпадающих с последним словом - C++
создать список из слов. подсчитать количество слов, совпадающих с последним словом. Удалить все таки слова, оставив одно последнее.

Создать список слов из файла и подсчитать количество повторения этих слов - C++
Здравствуйте. Помогите написать такую программу: в файле храниться текст. Нужно составить список слов из этого текста и посчитать частоту...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru