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

Подсчет числа включений в текст заданного фрагмента (цепочки символов) - C++

Восстановить пароль Регистрация
 
Настёночка
-24 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 19
29.12.2011, 06:05     Подсчет числа включений в текст заданного фрагмента (цепочки символов) #1
Напишите программу подсчета числа включений в текст заданного фрагмента (цепочки символов). Например, в тексте «банан упал на барабан» фрагмент «ба» встречается 3 раза.

Помогите пожалуйста.......Всех с наступающим Новым Годом=)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2011, 06:05     Подсчет числа включений в текст заданного фрагмента (цепочки символов)
Посмотрите здесь:

Найти в строке два одинаковых фрагмента (не включая пробелы) длиной более 5 символов C++
C++ Подсчет суммы всех чисел до заданного числа, используя рекурсию
Дан текст в файле. Подсчитать в нем количество слов, имеющих длину меньше заданного числа. C++
C++ Определить количество символов фрагмента, заключенного в круглые скобки.
Составить функцию построения строки символов являющейся записью заданного действительного числа C++
STL: найти все максимальные цепочки подряд идущих положительных чисел с указанием длины каждой цепочки C++
C++ Провести лексический анализ заданного фрагмента и составить кодировочную таблицу
Вывести на экран те строки файла, которые содержат в качестве фрагмента заданный текст C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
29.12.2011, 07:58     Подсчет числа включений в текст заданного фрагмента (цепочки символов) #2
алгоритм Кнута-Морриса-Пратта в помощь)
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.12.2011, 10:15     Подсчет числа включений в текст заданного фрагмента (цепочки символов) #3
1).Вариант с algorithm.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
using namespace std;
 
int main(void)
{
    char str[] = "банан упал на барабан";
    char sub[] = "ба";
 
    char* p = str;
    int cnt = 0;
    while((p = search(p, str + strlen(str),  sub, sub + strlen(sub))) != str + strlen(str)) {
           cnt++;
           p += strlen(sub);
    }
    cout << "count: " << cnt << endl;
    return 0;
}
2). Вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
size_t n_search(const char* s, const char* su) {
   const char* a, *b;
   size_t n = 0u;
   for(; *s; *s++) {
        for(a = su, b = s; *a == *b && *a; *a++, *b++);
        if(! *a) {
             n++;
             s = --b;
        }
    }
    return n;
}
 
int main(void)
{
    cout << "count: " << n_search("банан упал на барабан", "ба") << endl;
    return 0;
}
Yandex
Объявления
29.12.2011, 10:15     Подсчет числа включений в текст заданного фрагмента (цепочки символов)
Ответ Создать тему
Опции темы

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