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

Как посчитать количество одинаковых слов в тексте? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
liza_93
0 / 0 / 0
Регистрация: 10.11.2011
Сообщений: 8
14.11.2011, 22:07     Как посчитать количество одинаковых слов в тексте? #1
Пример того, как должна работать программа
*****************************************************************************
Введите текст: This text is repeated word. Find a word that is not repeated. Repeat this task with another word.

Введите слово: word
Результат: В тексте 3 повторяющихся слова word

Введите слово: repeated
Результат: В тексте 2 повторяющихся слова repeated

Введите слово: this
Результат: В тексте 2 повторяющихся слова this
*****************************************************************************
Кто-нибудь напишите код программы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2011, 22:07     Как посчитать количество одинаковых слов в тексте?
Посмотрите здесь:

C++ Посчитать количество знаков препинания в тексте и вывести их количество.
C++ Нужно посчитать количество слов в тексте
C++ Как подсчитать количество слов в конкретном тексте, а не во введенном с клавиатуры
C++ Посчитать количество слов со встречающимся символом "Х" в тексте
C++ Посчитать сколько в тексте слов с 1, 2 и 3 слогами
Поиск одинаковых слов в тексте C++
C++ Cтроки, vector. Посчитать количество одинаковых слов в строке
Посчитать количество слов "что" в заданном тексте C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
15.11.2011, 00:25     Как посчитать количество одинаковых слов в тексте? #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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int count_words(const char* str, const char* _word) {
   const char* pos = str;
   int id, cnt = 0, len = strlen(_word);
   while((str = strstr(str, _word)) != NULL) {
        id = (pos == str) ? 1 : ! isalpha(*(str - 1) );
        if(id && ! isalpha(*(str + len)) )
               cnt++;
        str += len;
   }
   return cnt;
}
 
 
int main(void) {
   char str[255], _word[32];
   printf("enter str: ");
   scanf("%254[^\n]", str);
 
   while(1) {
        printf("enter word: ");
        scanf("%31s", _word);
        printf("Result: text of %d the speech repeated word \"%s\"\n\n", count_words(str, _word), _word);
   }
   getchar();
   return 0;
}
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
15.11.2011, 00:46     Как посчитать количество одинаковых слов в тексте? #3
Использование strtok и strcmp на много упрощает программу.
Yandex
Объявления
15.11.2011, 00:46     Как посчитать количество одинаковых слов в тексте?
Ответ Создать тему
Опции темы

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