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

Проверить, есть ли в тексте повторяющиеся слова - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Deus_ex_human
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 13
29.05.2012, 17:23     Проверить, есть ли в тексте повторяющиеся слова #1
Проверить, есть ли в тексте повторяющиеся слова
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2012, 17:23     Проверить, есть ли в тексте повторяющиеся слова
Посмотрите здесь:

Во введенном тексте найти повторяющиеся слова C++
C++ Обработка строк. Проверить, есть ли в тексте повторяющиеся слова
C++ Заменить в тексте все слова, в которых есть хоть одна цифра, на звездочки
Проверка наличия слова в тексте C++
C++ Если в тексте есть одинаковые слова, заменить все их экземпляры символом из заданного набора
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
29.05.2012, 18:06     Проверить, есть ли в тексте повторяющиеся слова #2
Deus_ex_human, открываешь файл функцией fopen(), создаешь динамический двумерный массив чаров. С помощью функции strtok() выделяешь каждое слово и записываешь в массив. После этого прогоняешь весь массив и с помощью функции strcmp() и сравниваешь слова. strcmp() возвратит 0, если слова одинаковые.

Добавлено через 1 минуту
примеры всех функции есть на http://www.cplusplus.com/ вверху есть поиск, вводишь функцию и смотришь как она работает на простом\примитивной примере. Далее разберешься сам. Желаю успехов.
Deus_ex_human
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 13
29.05.2012, 18:16  [ТС]     Проверить, есть ли в тексте повторяющиеся слова #3
Это всё конечно очень круто.. а можно кодик? ) буду очень благодарен)
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
29.05.2012, 21:51     Проверить, есть ли в тексте повторяющиеся слова #4
Deus_ex_human, пожалуйста:
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
 
int main(int argc, char* argv[])
{
    const int Max_words = 50;
    const int Max_lenght = 20;
    const char* separator = " ,.!?:";
    char text[] = "Some text. This is a sample text. loop loop omg . LOL LOL rofl!!!";
    char Array[Max_words][Max_lenght];
    char *ptrWord;
    unsigned int i = 0;
    printf("\n\nOriginal text: %s\n\nChanged text: ",text);
    ptrWord = strtok(text,separator);
    i = 0;
    if( ptrWord ){
            do{
                printf("%s  ",ptrWord);
                strcpy(Array[i++],ptrWord); }
            while( (ptrWord = strtok(NULL, separator)) != NULL);
    }
    for(int j = 0; j < i; j++){
        for(int h = j+1; h < i; h++)
            if(strcmp(Array[j],Array[h]) == 0)
            printf("\nEsti povtor: %s - %s",Array[j],Array[h]);
    }
    getch();
    return 0;
}
Добавлено через 31 секунду

Не по теме:

не судите строго, писал на быструю руку.



Добавлено через 3 минуты
можно вот еще что добавить:
C++
1
2
3
4
5
6
7
unsigned int count = 0;
//в цикле где strcmp() в область if-а добавить 
count++;
//и перед 
getch();
//добавить
printf("\nKol-vo povtorov: %u",count);
Deus_ex_human
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 13
30.05.2012, 15:00  [ТС]     Проверить, есть ли в тексте повторяющиеся слова #5
Спасибо огромное)))

Добавлено через 4 минуты
особенно эта строка порадовала --> char text[] = "Some text. This is a sample text. loop loop omg . LOL LOL rofl!!!"
Yandex
Объявления
30.05.2012, 15:00     Проверить, есть ли в тексте повторяющиеся слова
Ответ Создать тему
Опции темы

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