|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.06.2009, 09:01 | #1 |
Новичок
Джуниор
Регистрация: 16.06.2009
Сообщений: 14
|
Удаление строк при рекурсии (Delphi)
Добрый день. Пишу программу, суть такова: недетерминированный автомат с магазинной памятью, есть функции переходов в зависимости от символа входной ленты и верхнего символа магазина (+используется е-такт).
Задается входная строка, нужно проверить, допускается ли она автоматом (при преобразовании надо чтобы опустошилась одновременно входная строка и магазин). Написал рекурсивную функцию для проверки, вроде бы все работает, но! надо записать в StringGrid последовательность преобразований (если она существует), которая приводит к нужному результату. В таблице получается много лишнего. Как сделать, чтобы при возвращении на предыдущий уровень рекурсии, если перебраны все варианты, запись в таблице удалялась? Примерно так работа должна выглядеть (S,1001) l1--- (SBSASA, 001) l2--- (SASBSBBSASA,01) l3--- (SASBSBASBSBBSASA,1) l4--- (SBSASAASBSBASBSBBSASA,e) <-> ошибка, удалили строку, вернулись вверх --- ... --- ... --- ... --- е-такт //нужно вернуться на l3 и чтобы удалилась запись (SASBSBASBSBBSASA,1) l3--- (SBSASBASBSBBSASA,1) l4--- ... .... .... //вернуться на l2 и чтобы удалилась запись неверного хода (SASBSBBSASA,01) ... l1--- (SASASB,001) ... l2--- (ASASB,001) ... l3--- (SASB,01) ... l4--- (ASB,01) ... l5--- (SB,1) l6--- (B,1) l7--- (e,e) //конец В итоге в таблице должно быть следующее: S | 1001 SASASB | 001 ASASB | 001 SASB | 01 ASB | 01 SB | 1 B | 1 e | e |
16.06.2009, 14:38 | #2 |
Форумчанин
Регистрация: 12.10.2008
Сообщений: 140
|
поставь проще условие, чтобы не создавалась строка, или ячейку прировняй к '', или сделай RowCount-1
|
16.06.2009, 15:06 | #3 |
Новичок
Джуниор
Регистрация: 16.06.2009
Сообщений: 14
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
удаление строк | alexk | Microsoft Office Excel | 24 | 15.02.2011 08:34 |
пойск строк при помощи множеств Delphi | Walter | Помощь студентам | 5 | 23.05.2009 19:38 |
Удаление строк | Dr.Badnezz | Общие вопросы Delphi | 1 | 07.10.2008 15:22 |
удаление строк | Dime_x | Microsoft Office Excel | 2 | 07.10.2008 13:38 |
Рекурсии при составлении программ | Дуня | Помощь студентам | 3 | 06.12.2006 20:35 |