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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Слияние двух отсортированных списков http://www.cyberforum.ru/cpp-beginners/thread420224.html
Напишите функцию List& merge(List& L1, List& L2), добавляю- щую к упорядоченному списку L1 также упорядоченный список L2 и возвращающую ссылку на результирующий список
C++ printf + потоки Добрый день. Обнаружилась странность, что при вызове из разных потоков printf("hello world") - не выводит в консоль, а printf("hello world \n") выводит. В чем подвох? http://www.cyberforum.ru/cpp-beginners/thread420212.html
C++ Получить путь до папки с .exe и чтение из реестра
1. Как можно получить путь до исполняемого процесса? Поясняю. У нас есть процесс firefox.exe. Как узнать путь, откуда был произведен запуск программы? 2. Пытался прочитать значение из реестра - не...
C++ квадратное уравнение: структура, объекты
Друзья, я только учусь программировать, сам по образованию вообще не технарь, но вот увлекся. Плиз, укажите, где ошибка, т.к. в некоторых случаях не выдает правильные результаты: -1.#INFOO,...
C++ Структуры. Вызов данных структуры по указателю. с++ http://www.cyberforum.ru/cpp-beginners/thread420199.html
Условие задачи: Напишите прогу, которая печатает содержимое структуры под названием Reading. Reading имеет следующие характеристики: - Reading номер - количество - Описание (20 символов) ...
C++ функция ln с++ как написать функцию ln? подробнее

Показать сообщение отдельно
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.12.2011, 10:15
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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru