Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на строки (удалить вхождения)
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
eXtractor
Звучит так:
«Ввести строку символов. Удалить из нее все слова, целиком составленные из вхождений не более, чем двух букв. Например, 'ансамбль АББА' → 'ансамбль'».
Хотя бы общий принцип решения…
eXtractor
Up.

Ну срочно надо!
Алена
Ну, срочно так срочно... Разбить строку на слова сможешь? Одна из прикрепленных тем в разделе задачи именно этому посвящена... Потом каждое слово проверяешь на количество входящих в него букв... Я бы сделала это, используя множество (как раз в нем все символы могут храниться в единственном экземпляре, просто посчитать их количество и все...)

Алгоритма хватит, или нужна реализация?
eXtractor
Спасибо за отклик. Общие пути решения понятны, на слова разбивать умею. Алгоритма хватит.
UPD: А-а, только без множеств, пожалуйста.
volvo
Цитата
только без множеств, пожалуйста.
Без множеств - так без множеств... Выделяешь слова, и с каждым из них делаешь следующее:

s := '';
for i := 1 to length(_word) do
if pos(_word[i], s) = 0 then s := s + _word[i];

if length(s) > 2 then { В слове используется больше 2-х букв }
else { все нормально, букв не больше чем 2 }
Идея понятна?
eXtractor
Идея понятна, спасибо огромное!
eXtractor
Вопрос по пониманию задачи:

Цитата("eXtractor")
«…целиком составленные из вхождений не более, чем двух букв…».
— что это значит?

Я так понял, что слова «аа» и «абба» подходят, и «абввба» — нет. Я правильно понял?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.