|
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 7
|
||||||
Помочь доделать алгоритм/исправить ошибки07.10.2013, 21:24. Показов 1395. Ответов 15
Метки нет (Все метки)
Помогите доделать алгоритм удаления недостижимых символов. Понимаю алгоритм, но не могу реализовать - вылазят ошибки. Алгоритм такой, дана грамматика, например:
S-aAB D-cDc D-d A-aA A-a A-e B-b Первый символ из memo2, т.е. "S", берется за стартовый и помещается в множество символьного типа, допустим vn2. Затем запускается цикл и для каждой строки проверяется - есть ли первый символ этой строки во множестве, если есть, то символы обозначенные заглавными буквами после тире тоже помещаются во множество символов, и так для всех строк в memo. Затем запускается еще один цикл по строкам и первым символам этих строк. Проверяется есть ли первый символ текущей строки в множестве vn2, если нет, то строка удаляется. Ну и в конце memo2 очищается и в него записываются только непустые строки. Для примера, как это работает на данной грамматике: S-aAB D-cDc D-d A-aA A-a A-e B-b Помещаем S в vn2. Запускаем перебор строк. S есть в множестве, поэтому помещаем в множество А В из правой части от S после тире. Получили в vn2 3 символа - S A B. Идем ко второй строке, первый символ D не содержится в vn2, поэтому ничего в vn2 не помещаем. Переходим к 3 строке - тоже самое. Пропускаем. Переходим к 4 строке А содержится в vn2, поэтому помещаем в vn2 заглавную A (но она уже есть в vn2). В остальных строках заглавных букв после тире нет - и в vn2 ничего не поместиться. Теперь удаляем строки, т.е. которые недостижимы из 'S' Запускаем перебор. Если первый символ строки не содержится в vn2 - обнуляем всю строку. И так до последней строки Затем очистим memo2 и в него же запишем все непустые строки. Должно получиться так: S-aAB A-aA A-a A-e B-b Программа компилируется, запускается но после запуска процедуры появляется ошибка: Access violation at address 0045996D in module Project1.exe. Read of address 00000000
0
|
||||||
| 07.10.2013, 21:24 | |
|
Ответы с готовыми решениями:
15
Помочь доделать кейлоггер, реализовать функцию
|
|
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,482
|
|
| 08.10.2013, 01:18 | |
|
0
|
|
|
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
||
| 08.10.2013, 01:24 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 7
|
|
| 08.10.2013, 05:20 [ТС] | |
|
0
|
|
|
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,482
|
|
| 08.10.2013, 08:03 | |
|
Для начала: у Вас, видимо, выход за границы массива в строках 13..14.
0
|
|
|
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,482
|
||||||
| 09.10.2013, 15:13 | ||||||
|
Есть немного времени... Вопрос: зачем нужно лишнее memo и массив p, по моим подозрениям, динамический? Ответ: а низачем! Вопрос: ТС понимает, как не вылететь за диапазоны индексов массивов? Ответ: Видимо, нет. Вот Ваша задача, рабочий вариант.
1
|
||||||
|
2 / 2 / 1
Регистрация: 18.03.2014
Сообщений: 147
|
|
| 24.05.2015, 21:28 | |
|
makandrey, привет, можешь списаться со мной в личных сообщениях по поводу этой программы?
0
|
|
| 24.05.2015, 23:58 | |
|
0
|
|
| 25.05.2015, 01:08 | |
|
0
|
|
|
2 / 2 / 1
Регистрация: 18.03.2014
Сообщений: 147
|
||||||
| 29.05.2015, 11:42 | ||||||
|
вот код:
S>aABF D>cDc/d C>aCD A>aA/a/e B>b F>FF выдает: D>cDc D>d а должно быть: D>cDc D>d S>aAB A>aA A>a A>e B>b что здесь неправильно?
0
|
||||||
|
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,482
|
|
| 29.05.2015, 12:08 | |
|
0
|
|
|
2 / 2 / 1
Регистрация: 18.03.2014
Сообщений: 147
|
|
| 29.05.2015, 12:20 | |
|
при добавлении F>FF и S>aABF, после удаления недостижимых символов не должна удаляться строка S>aABF и также терминалы A, я вот не пойму: почему удаляется S>aABF
0
|
|
|
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,482
|
|
| 29.05.2015, 12:48 | |
|
Пока не понял... Почему тогда D>cDc и D>d у Вас остаются? они-то каким боком достижимы из S>aABF?
0
|
|
|
2 / 2 / 1
Регистрация: 18.03.2014
Сообщений: 147
|
|
| 30.05.2015, 12:29 | |
|
Хмм, вот сам непонимаю, вроде как должны тоже убираться, код не менял кроме названия переменных и коментариев
Добавлено через 22 часа 42 минуты А вы сможете помочь, так как брал ваш код удаления недостижимых символов: RemovingUnreachableSymbols, буду очень благодарен)
0
|
|
|
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,482
|
||||||
| 04.06.2015, 18:24 | ||||||
|
Переделал код из поста #6. Символ-разделитель изменён с '-' на '>'. Событие Button1.Click, обрабатывается содержимое Memo1.
Добавлено: - удаление всех пробелов и замена многократных слэшей на одинарные, удаление стартовых и завершающих слэшей; - удаление терминалов длиной менее 3, без разделителя или с разделителем не во второй позиции или содержащих символы, отличные от разделителя и букв английского алфавита; - разделение терминалов с вариантами на уникальные. Убрано аварийное завершение программы в случае опустошения Memo1.
1
|
||||||
|
2 / 2 / 1
Регистрация: 18.03.2014
Сообщений: 147
|
|
| 04.06.2015, 21:23 | |
|
спасибо большое) если смогу чем то помочь обращайся)
0
|
|
| 04.06.2015, 21:23 | |
|
Помогаю со студенческими работами здесь
16
Помочь доделать программу с реккурентными соотношениями. (Исправить ошибку) Доделать и исправить ошибки в программе! Найти и исправить ошибки в коде (доделать программу) Алгоритм сортировки слиянием. Исправить ошибки в коде Работа с файлами (помочь доделать) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|