Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Указатели и ссылки [С++] Всем привет. я тут программу делаю. Цель: определить,принадлежит ли точка заданному промежутку(а точнее лежит внутри или снаружи фигуры). Координаты храню в массивах(по 2 значения: x и y.). Вопрос такой: можно ли создать указатель(или ссылку),который бы хранил область памяти на массив,чтобы потом им можно было манипулировать,как и массивом? к примеру: int a; int &y= a; &y = 2; &y = 5; //... https://www.cyberforum.ru/ cpp-beginners/ thread423728.html C++ сумма элементов матрицы
Здравствуйте. Такая задача: В массиве А (m = n) сумму элементов над главной диагональю поделить на сумму элементов под главной диагональю. Элементы под глав-ной диагональю рассортировать по убыванию. Помогите найти суммы элементов. #include <iostream> #include <iomanip> using namespace std; int main() { setlocale(LC_ALL, "Russian");
C++ Функции (Даны три вещественные квадратные матрицы 4-го порядка) Даны три вещественные квадратные матрицы 4-го порядка. Напечатать ту из них,норма которой наименьшая (считать, что такая матрица одна). В качестве нормы матрицы взять максимум абсолютных величин ее элементов Заранее спасибо)) пож...мне очень срочно у меня через 3 дня экзамен! https://www.cyberforum.ru/ cpp-beginners/ thread423664.html C++ Рекурсия(вычислить 1*2*3*...n+2*3*4*...(n-1)+3*4*5*(n-2)+...) https://www.cyberforum.ru/ cpp-beginners/ thread423661.html
дано натуральное число n. вычислить 1*2*3*...n+2*3*4*...(n-1)+3*4*5*(n-2)+... Очень срочно!! Заранее спасибо!!
Оформить в циклке C++
temp = a; temp = a; temp = a; temp = a; temp = a; temp = a; a = a; a = a; a = a;
C++ Ассоц. и послед. контейнеры. Разница в методах и алгоритмах. https://www.cyberforum.ru/ cpp-beginners/ thread423571.html
Добрый вечер всем! Возник вопрос - прошу помощи. Речь об STL... В чем проблема собственно: почему для использования у множества с пользовательскими объектами метода find() не нужен перегруженный оператор== ??? Для тех же списков или векторов, да и для двухсторонних очередей тоже, наличие == обязательно (для все того же find(), только тут это алгоритм). Тоже самое с count(). Заранее благодарен....
C++ Посчитать сумму платежей с указанной целью https://www.cyberforum.ru/ cpp-beginners/ thread423535.html
Проблема такая, нужно посчитать сумму платежей с указанной целью. То есть допустим я в поле "введите цель платежа" ввожу "перевод" к примеру. Дальше как я понял нужно найти все платежи с таким названием ну и потом посчитать их сумму... На теории легко, а как доходит до практики меня тупит, незнаю как это записать...
C++ Разработать программу работы со связным списком мониторов.
Разработать программу работы со связным списком мониторов. Для каждого монитора должна храниться следующая информация: модель, производитель, длина диагонали, цена. Отсортировать мониторы по производителю. Те мониторы, у которых производители одинаковы, – отсортировать также по цене. Помогите пожайлуста.
C++ Не компилирует... https://www.cyberforum.ru/ cpp-beginners/ thread423505.html
Здравствуйте, столкнулся с такой проблемой... Вообщем когда дома пишу программу, дома - работает. Прихожу в институт - не работает и при откладке выскакивает окно с сообщением о ошибке "Не удается найти указанный файл". Не создает .ехе файл. Как исправить этот лаг? Помогите.
C++ Сортировка https://www.cyberforum.ru/ cpp-beginners/ thread423485.html
Еще одна задачка: Дан массив(одномерный, кол-во елементов случайно заданно) натуральных чисел, в которой могут быть одинаковые между собой елементы. Отсортировать массив по убыванию, если встречаються одинаковые елементы то в новый массив ввести элементы но по одному екземпляру. Вывести изначальный массив на екран и после сортировки.(должно на екране присутствовать 2 массива) Сам языка...
C++ Даны действительные числа a_1,…,a_n,b_1,…,b_n.
Здравствуйте, если вам не сложно, не могли бы вы помочь. Даны действительные числа a_1,…,a_n,b_1,…,b_n. Вычислить: (a_1 〖+b〗_n )(a_2 〖+b〗_(n-1) )…(a_n+b_1 ).
C++ Нахождение максимального елемента.. Есть задача: дан массив(одномерный,кол-во елементов рендомное) из натуральных елементов, отсортировать его по убыванию и дано число у(натуральное, введено пользователем с клавиатуры), из отсортированного массива взять произведение первых 3х и поделить на введенное пользователем число у. Вывести это число. Просьба написать на борланде. https://www.cyberforum.ru/ cpp-beginners/ thread423478.html
62 / 35 / 3
Регистрация: 05.10.2011
Сообщений: 137
07.01.2012, 15:32 0

Ошибка в функции поиска подстроки в строке. Алгоритм Бойера-Мура-Хорспула. - C++ - Ответ 2362951

07.01.2012, 15:32. Показов 6048. Ответов 3
Метки (Все метки)

Ответ

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "stdafx.h"
#include <stdlib.h>
 
 
int BoyerMooreHorspool(char *haystack, char *needle)
{
        int i,j,k, needle_len = 0,haystack_len = 0;
        int needle_table[256]; // таблица символов
 
        char *p; // указатель на символ
        for ( p = needle; *p; *p++) // подсчет кол-ва символов в needle
                ++needle_len;
        for ( p = haystack; *p; *p++) // подсчет кол-ва символов в haystack
                ++haystack_len;
 
        if (needle_len < haystack_len) // 
        {
                for (i = 0; i < 256; i++) // в таблицу заносится для каждого символа длина needle
                        needle_table[i] = needle_len; 
 
                for (i = 1; i < needle_len; i++) // каждому символу из таблицы ставиться в соответствие его порядковый номер из needle
                        needle_table[needle[i-1]] = needle_len-i;
 
                i = needle_len; // i - счетчик текущего последнего символа в haystack 
                j = i; // j - счетчик в needle кол-ва одинаковых символов (совпадающих с таблицей) с конца 
 
                while (j > 0 && i <= haystack_len) // если j==0 то совпадение найдено
                {
                        j = needle_len; // заново выполняем присваивание, чтобы сравнивать строки с конца
                        k = i; // k - счетчик текущего символа в haystack
                               // j - счетчик текущего символа в needle
                        while (j > 0 && haystack[k-1] == needle[j-1]) // сравнение последних симолов
                        { // если раны, то сравниваем предыдущие
                                --k;
                                --j;
                        }
                        i+=needle_table[haystack[i-1]]; // сдвигаем шаблон на следующий совпадающий символ из таблицы и haystack
                        // т.е. в needle ищется (т.е. уже дан в таблице) последний сравниваемый символ из haystack
                }
 
                if (k > haystack_len - needle_len) // если k выходит за пределы сравнения, то ...
                        return 0;
                else return k+1; // иначе k== текущая позиция подстроки needle в строке haystack 
                // ВНИМАНИЕ! k показывает смещение в haystack, предполагая, что строка начинается с 1 (единицы)
        }
        else return 0; // if (needle_len >= haystack_len)
}
 
//-------------------------------------------------------------------
 
int main(int argc, char* argv[])
{
    char s1[] = "abDcDABcd";
    char s2[] = "cDA";
 
    printf("haystack: %s\n", s1);
    printf("needle: %s\n", s2); 
    
    printf("result: %i\n", BoyerMooreHorspool(s1,s2));
 
    system("pause");
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от InfernalA1D Посмотреть сообщение
Где ошибка?!
видимо в строке 32

Добавлено через 4 минуты
Код отсюда: http://ru.wikipedia.org/wiki/%... 0%BB%D0%B0
Сам почитал, разобрался, добавил комментарии.

Вернуться к обсуждению:
Ошибка в функции поиска подстроки в строке. Алгоритм Бойера-Мура-Хорспула. C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2012, 15:32
Готовые ответы и решения:

Алгоритм Бойера-Мура поиска подстроки в строке (Js -> C++)
Помогите реализовать алгоритм для с ++ &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot; /&gt;...

Поиск подстроки в строке(алгоритм Бойера-Мура)
Программа находит шаблоны в строке алгоритмом Бойера-Мура и находить должна в строке которая...

Поиск подстроки в строке: алгоритм Рабина-Карпа или Бойера-Мура(-Хорспула)
Необходимо реализовать алгоритм Рабина-Карпа или Бойера-Мура(-Хорспула), если нам дана подстрока,...

Алгоритм поиска образа в строке. Алгоритм Бойера-Мура
# Лабораторная работа № 1 # Поиск образа в строке def forming_d(pattern): &quot;&quot;&quot; Формируем...

3
07.01.2012, 15:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2012, 15:32
Помогаю со студенческими работами здесь

Поиск методом Бойера-Мура(подстроки в строке)
Сколько ищу в инете и в куче книг по си шарпу -- нету материала как этот метод поиска ...

Алгоритм Бойера и Мура
Добрый день! Помогите пожалуйста написать на С++ алгоритм Бойера и Мура Добавлено через 7...

алгоритм Бойера-Мура
Всем привет! Помогите исправить ошибку пожалуйста! unit Unit1; interface uses ...

Алгоритм Бойера — Мура
Люди добрые помогите с задачей! Необходимо Алгоритмом Бойера — Мура найди вхождения строки в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru