Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> строка 
:(
    Опции темы
Bridget
Дата 8.12.2008, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.11.2008

Репутация: нет
Всего: нет



помогите пожалуста!! задача найти количество вхождений подстроки "aba" в строку.  Решать нужно с помощью указателей и функции. Я уже написала функцию, которая возвращает позицию первого вхождения. Тут все ясно. Вопрос такой, как с помощью указателя (ведь имя массива это константый указатель) убрать часть строки, в которой уже найдена "aba" и пойти искать дальше ( то есть сделать так, что бы строка все время уменьшалась).
Нужно обязательно с помощью указателя.
 Пример : строка abapoaba - то есть указать, что первый элемент теперь p
PM MAIL   Вверх
mes
Дата 8.12.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Bridget @  8.12.2008,  20:53 Найти цитируемый пост)
как убрать часть строки, в которой уже найдена "aba" и пойти искать дальше 

а зачем убирать ? просто начинайте искать с элемента следуюшего за  тем, на котором было предположено/найдено вхождение..

Добавлено @ 21:18
Цитата(Bridget @  8.12.2008,  20:53 Найти цитируемый пост)
Пример : строка abapoaba


ишем aba;
начинаем искать в строке "a". Нашли (на первом символе), предполагаем, что это есть вхождение. Запоминаем указатель в p1.
ипроверяем остальные символы на совпадение, если совпадает значит вхождение найдено, иначе предположение ложное.
Возвращаемся к следующему элементу за запомненым т.е в нашем случае ко второму(p1+1) и так пока не встретится конец строки.


Это сообщение отредактировал(а) mes - 8.12.2008, 21:19


--------------------
PM MAIL WWW   Вверх
Bridget
Дата 9.12.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.11.2008

Репутация: нет
Всего: нет



просто у меня отдельная функция, ищущая позицию первго вхождения. И в эту функию в качестве параметра передается строка. Так вот если я  каждый раз передаю одну и ту же строку, то функция и возвращает одну и ту же позицию первго вхождения. То есть мне нужно измениь саму строку (исключив первое вхождение аба), что бы в функцию передать строку без первго вхождения. И чтобы функция теперь в оставшейся строке искала первое вхождение аба 
PM MAIL   Вверх
Dov
Дата 9.12.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Bridget, например:
Код

while(func(str) != NULL)
{
    // ...
    str++;  // переход на следующий символ для следующего поиска
}


Это сообщение отредактировал(а) Dov - 9.12.2008, 15:17


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Bridget
Дата 9.12.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.11.2008

Репутация: нет
Всего: нет



спасибоsmile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.