![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| SuicideRash |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.5.2008 Репутация: нет Всего: нет |
Нужно написать програму которая обробатывает 2 строки (образец и шаблон) образец состоит из больших латинских букв, шаблон - большие латинские букви плюс "?" и "*" (?-любой символ, *-любоэ количество, возможно и 0!, любых символов), и выводила "YES" если образец подходит под шаблон, "NO" - не подходит.
Подскажите идею, можна и текст программы если не тяжело |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
||||
|
||||
| SuicideRash |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.5.2008 Репутация: нет Всего: нет |
простите я не нашол...
|
|||
|
||||
| SuicideRash |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.5.2008 Репутация: нет Всего: нет |
Предложенная тема volvo877'м довольно старая, предлагаю поднять єтот вопрос снова, так как приведьонные в ней примеры решений мне удалось очень быстро опровергнут такими примерами:
Строка: ABBCDPCDA Шаблон: A*CDA Ответ: должно быть да но выдайот нет Строка: ABBCDA Шаблон A*CDAK Ответ: должно быть нет но выдайот да. (каждая из 3 програм дайот збой на одном из этих примеров). У ково есть какие идеи? У меня есть одна, если получица то виложу результат... |
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Строка:
ABBCDPCDA Шаблон: A*CDA Почему это должно быть да? Еслибы шаблон был A*CD*A тогда да, а так нет Добавлено, а, все, вижу, в конце CDA Это сообщение отредактировал(а) mmvds - 26.5.2008, 12:03 |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
SuicideRash, погоняй-ка вот это:
|
|||
|
||||
| SuicideRash |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.5.2008 Репутация: нет Всего: нет |
volvo877 а ти сам её тестировал???
если чесно то я шото не совсем понял как оно проверять будет, а потестировать нет времемни сейчас... как появица обезательно напишу З.Ы. надеюсь она рабочая ) |
|||
|
||||
| Filon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 21.5.2008 Где: Челябинск Репутация: нет Всего: нет |
Алгоритм правильный, но не лучший в реализации. При длинных исходных строках стек переполняется, даже с {$B-}. Завтра, если будет время, напишу алгоритм без рекурсий. |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
В заголовке добавляем const
140 символов - достаточно длинная строка? Переполнения стека на подобных размерах не замечено (стек установлен в 32К по умолчанию, TP 7) Прежде, чем придумывать самостоятельно - сначала лучше посмотреть то, что есть готовое, ибо изобретение велосипедов - занятие неблагодарное: Wildcard matching algorithms Это сообщение отредактировал(а) volvo877 - 26.5.2008, 21:02 |
|||
|
||||
| Filon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 21.5.2008 Где: Челябинск Репутация: нет Всего: нет |
Боюсь я испоречен олимпиадным программированием Для меня длинная строка - это строка длиной, например, 500 символов |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
||||
|
||||
| Filon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 21.5.2008 Где: Челябинск Репутация: нет Всего: нет |
Я прекрасно знаю, что String ограничен 255 символами. Но мое понимание термина "строка" шире, чем просто паскалевский тип String. Строка может быть представлена и массивом char`ов. Вообще, думаю, что это мало относится в теме. Так что предлагаю свернуть наш спор |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |