Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.03.2015
Сообщений: 7

Реализовать поиск подцепочек

20.12.2015, 12:43. Показов 416. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста!
Нужно реализовать программу, которая ищет из введенной пользователем последовательности символов все строки , с префиксом "**" и суффиксом "*", между которыми располагается последовательность символов, и вывести эти строки на экран.

Добавлено через 22 часа 2 минуты
Объясните хотя бы, как это сделать. Очень нужно
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2015, 12:43
Ответы с готовыми решениями:

Реализовать поиск в ширину в простом графе
Поиск в ширину--2 (вершины идентифицируются названиями) ограничение по времени на тест: 2 seconds ограничение по памяти на тест: 64...

Реализовать структуру моделирующую работу аэропорта; реализовать поиск по заданному полю в массиве таких структур
Здравствуйте. Каким образом можно сделать ввод данных через массив, а так же все последующие действия в соответствии с заданием? То есть, я...

Что лучше реализовать - поиск по stringgrid или поиск по источнику его данных (txt)
здравствуйте, нужно в программу добавить функцию поиска, данные из stringgrid хранятся в txt файле и подгружаются в таблицу, посоветуйте...

4
236 / 75 / 24
Регистрация: 12.05.2010
Сообщений: 216
20.12.2015, 12:50
Если не использовать сторонние библиотеки, то я бы организовал поиск следующим образом:
1. Читаем посимвольно строку до того как встретим *
2. Проверяем что следующий символ тоже * (понимаем что возможно дальше будет нужная нам строка)
3. Продолжаем, пока не встретим *, если ее не встречаем, ошибка, если встречаем ** предположительно начало новой строки, рекурсивно начинаем поиск следующей звездочки, если возможны вложенные подстроки, если нет - либо считаем что на первой * закончилось выражение и запоминаем его в список, либо сбрасываем сохраненную подстроку и начинаем с 1 пункта
0
0 / 0 / 0
Регистрация: 25.03.2015
Сообщений: 7
20.12.2015, 22:34  [ТС]
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
string findNewString(string a)
{
    //делаем из строки символьный массив
    const char *mas_of_char = a.c_str();
    
    //длина нашего массива
    int size = strlen(mas_of_char);
 
    //искомая строка
    string ourstring;
    const char *mas_new = ourstring.c_str();
 
    for (int i = 0; i < size; i++)
    {
        if (mas_of_char[i] == '*' && mas_of_char[i + 1] == '*')
        {
            for (int k = i + 2; k < size; k++)
                if (mas_of_char[k] == '*')
                {
                //заполняем с
                for (int j = 0, z = i; (z < k && j < k - i); (z++ && j++))
                    mas_new[j] == mas_of_char[z];
                }
            ourstring = mas_new;
            return ourstring;
        }
        else return "no";
        
    }
}
я написала код, который должен возвращать нужную строку. Но он не работает. Можете исправить, пожалуйста.
0
236 / 75 / 24
Регистрация: 12.05.2010
Сообщений: 216
21.12.2015, 11:41
anna_annanasik, точно не помню, но мне кажется
C++
1
for (int j = 0, z = i; (z < k && j < k - i); (z++ && j++))
должно выглядеть как
C++
1
for (int j = 0, z = i; (z < k && j < k - i); z++, j++)
В целом не успел разобраться, но мне кажется в этом может быть проблема, еще z в этом цикле должен начинаться с k, если нам не нужны ** в строке, и не понятно, зачем string преобразовывать в const char*? чем в нее не пишется, тогда бы и избавились от одной лишней переменной j, и в теле цикла должно быть не ==, а =, но если использовать string, то использовать ourstring.append(mas_of_char[z]);
0
0 / 0 / 0
Регистрация: 25.03.2015
Сообщений: 7
21.12.2015, 14:09  [ТС]
сделала как вы сказали, но он выдает ошибку
C++
1
2
for (int z = i; z < k; z++)
          ourstring.append(mas_of_char[z]);
"отсутствуют экземпляры соответствующие списку аргументов, типы аргументов(const char), тип объекта string"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.12.2015, 14:09
Помогаю со студенческими работами здесь

Реализовать поиск заданного файла в древе каталогов и поиск указанной информации в этом файле
Имеется много папок в каждой папке есть файл proc.txt, как можно по всем этим папкам пройтись и из каждой папки в этом файле достать...

Реализовать поиск
Подскажите, имеется у меня такой код, что при клике по определенному объекту открываются определенные параметры для поиска. Прикладываю...

Реализовать поиск по StringGrid
Здравствуйте, у меня возникла проблема. у меня на форме 2стринггрида, 2 кнопки, эдит и комбобокс. В комбобокс, я я выбираю поииск по...

Реализовать поиск по хэштегам
Подскажиие как реализовать поиск по хэштегам? #новости #блог ;

Можно ли реализовать поиск
Здравствуйте, очень нужна помощь. Я тут программку делаю которая будет выводить 5 различных баз данных( с демографическими показателями)...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru