IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Подключение мыши, (программа Кроссворд)
-LOVE133-
сообщение 19.04.2006 11:12
Сообщение #1


Гость






скачала несколько юнитов для работы с мышью, но при запуске программы требует файл типа TPU , а все юниты просто с расширение PAS. что в этих ситуациях обычно делают?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Бродяжник
сообщение 15.05.2006 12:05
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


И еще есть замечания по рекурсии.
Во-первых, что делает переменная flag? Ведь на участке между
flag := false
и
if not flNoWord and not flag then
значение flag не меняется. Поэтому фактически это условие сводится к
if not flNoWord
. Во-вторых, как должна работать рекурсия? У нас должна быть возможность вернуться назад на любое число шагов. Например, первые 5 гнезд заполнились нормально. А шестое мы так и не смогли заполнить. Мы возвращаемся назад на один шаг. Это значит, что последнее вписанное слово нужно вычеркнуть из сетки. То есть либо необходим специальный алгоритм вычеркивания, либо нужно сохранить предыдущую копию. Допустим, у нас есть копия. Но вот беда - оказывается, что другого варианта заполнения пятого гнезда нет. Это значит, что надо вернуться еще на шаг назад и вычеркнуть из сетки еще и четвертое слово. То есть нужна еще одна копия - и не одна, а весь набор промежуточных копий для всех шагов. Если мощь компьютера позволяет, можно и так. А если нет? Тогда нужно изобретать специальный алгоритм вычеркивания. Почему специальный? Потому что он должен учитывать то, что буква в сетке может принадлежать не одному, а сразу двум словам. И вычеркивать ее нужно с оглядкой.
Еще один вариант сводится к тому, чтобы в специальном стеке хранить все вписываемые в сетку буквы, а также те символы, которые были в сетке до этого вписывания. Например, пересекаются слова "кот" и "сон". При выписывании слова "кот", в стек попадают:
к (пробел)
о (пробел)
т (пробел)
При вписывании слова "сон":
с (пробел)
о о
н (пробел)
Теперь при вычеркивании слова "сон" на место букв "с" и "н" будут вписаны пробелы, а вместо "о" опять "о", которое и останется там, если не будет вычеркнуто слово "кот".
Ведь сейчас что получается? Допустим, пятое слово пересекается с четвертым и шестым. Мы заполнили шесть гнезд, дошли до седьмого. С седьмым ничего не вышло, с шестым и пятым тоже, пришлось вернуться к четвертому слову. Мы меняем четвертое слово и снова беремся за пятое. Вызываем для него ARBEIT. Входим в ARBEIT и заново определяем маску пятого слова (и это правильно). И в эту маску попадают буквы из нового четвертого слова, а также - внимание! - из уже отвергнутого шестого (оно ведь все-таки было вписано в сетку!).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
-LOVE133-   Подключение мыши   19.04.2006 11:12
volvo   Обычно - просто компилируют PAS файл модуля, и ком...   19.04.2006 11:16
Гость   а еще хотела спросить в вашем юните в МИККИ что об...   19.04.2006 13:43
volvo   Там же написано:   19.04.2006 13:49
LOVE133   пытаюсь реализовать такой алгоритм : 1) есть сетка...   19.04.2006 14:31
Бродяжник   Вот примитивная заготовка, чтобы понять основные м...   19.04.2006 16:40
LOVE133   а нет процедуры. которая определяет, в каком месте...   19.04.2006 21:25
volvo   Чем Procedure GetMouseXY(VAR KoordX,KoordY:Word );...   19.04.2006 21:34
LOVE133   все.... перепутала просто один юнит с другим :) ...   19.04.2006 21:38
volvo   Если не хочешь получать после вывода графики и дви...   19.04.2006 21:41
LOVE133   у меня есть сетка (line(x1,y1,x2,y2)) которые деля...   19.04.2006 21:47
volvo   Пишу прямо здесь, так что могут быть мелкие помарк...   19.04.2006 22:07
LOVE133   Немного доработала.Теперь в процессе создаю матри...   20.04.2006 21:35
LOVE133   вчера вечером посидела, вот что получилось proce...   23.04.2006 17:11
volvo   program IncMassive; type setArray = array[1..10,...   23.04.2006 18:36
LOVE133   в данном случае мне нужно, что б он проверил матри...   23.04.2006 18:51
LOVE133   скачала словарь существительных, теперь его пытаюс...   26.04.2006 22:05
Бродяжник   Словарь скачивать пока влом, поэтому маленький воп...   27.04.2006 8:23
LOVE133   да, я его специально переделывала из текстового в ...   27.04.2006 12:45
Бродяжник   ладно, уговорили. Скачаю Ваш словарь, отсортирую, ...   27.04.2006 12:49
LOVE133   так это и надо было, просто для того чтобы это сде...   27.04.2006 13:04
Бродяжник   Это типа словарь   27.04.2006 13:25
LOVE133   пасибки )) то что нужно и даже больше )) я где-то ...   27.04.2006 13:33
Бродяжник   Ох... Это очень сильно зависит от того, какой буде...   27.04.2006 15:20
LOVE133   смысл понятен, только как проверять подходит слов...   3.05.2006 15:47
Бродяжник   Структура самого гнезда очень простая - координаты...   3.05.2006 16:22
LOVE133   Setka[Gnezdo[1].x][Gnezdo[1].y+i] := Slovo[i+1]; ...   3.05.2006 16:31
Бродяжник   Slovo - это слово из словаря, которое мы сейчас пр...   3.05.2006 16:39
LOVE133   понятно, теперь сижу втыкаюсь ... вот еще косяк ...   3.05.2006 16:47
volvo   Какой именно? У тебя их 3...   3.05.2006 17:00
LOVE133   они по моему все не работают, один общий, то есть ...   3.05.2006 17:11
LOVE133   Вот что у меня получилось . структура данных Tg...   4.05.2006 8:45
Бродяжник   if horizontal then begin okgor:=true; ...   4.05.2006 10:20
LOVE133   конечно, интересно мне все.С мышью я тоже мучалась...   4.05.2006 15:13
Бродяжник   Я позволил себе 1) сделать так, чтобы клетки меня...   4.05.2006 17:28
LOVE133   циклы должны работать так 1) New- создать новую ...   4.05.2006 18:07
LOVE133   Уважаемый Бродяжник , посидели вчера , покумекали,...   5.05.2006 11:09
Бродяжник   Уважаемая Love (можно без 133?), я тем временем не...   5.05.2006 14:37
Бродяжник   Хотя бы в какой-то степени оно работает! (Я со...   5.05.2006 16:03
LOVE133   Вчера посидела с реализацией своей рекурсивной мод...   6.05.2006 7:38
Бродяжник   Когда сдавать-то? :)   6.05.2006 8:06
LOVE133   сдавать демо-версию завтра, а у меня кроме веселог...   6.05.2006 10:37
Бродяжник   Сочувствую... В том файле, который Вы прикрепили п...   6.05.2006 13:30
LOVE133   а так , если пользоваться вашей программой. как е ...   6.05.2006 13:33
Бродяжник   ща посмотрим... Правка: Жаль, но чтобы привести эт...   6.05.2006 14:08
LOVE133   завтра как-нибудь еще отверчусь, скажу, что все в ...   6.05.2006 14:33
LOVE133   вот... только теперь выясняется, что память в паск...   7.05.2006 14:52
Бродяжник   Привет! В последнем выложенном файле есть как ...   10.05.2006 9:41
LOVE133   Доброго времени суток )) все координально передела...   12.05.2006 20:09
Бродяжник   Вот, сыскал в сети... русские фонты для BGI.   15.05.2006 10:57
Бродяжник   И еще есть замечания по рекурсии. Во-первых, что д...   15.05.2006 12:05
LOVE133   после многочисленных тестов пришла к выводу что ре...   15.05.2006 16:24
Бродяжник   Я уже почти заставил его работать, хотя тут, конеч...   16.05.2006 10:14
Бродяжник   Оно работает! Это еще актуально?   16.05.2006 11:17
LOVE133   Конечно актуально ))) допуск до экзамена )) тут не...   16.05.2006 12:45
Бродяжник   Ладно, кладу то, что пока есть. Те несколько кросс...   16.05.2006 13:30
LOVE133   пасибо вам огроменно , не знаю, что б я делала ))...   16.05.2006 13:41
Бродяжник   Хорошо! С интерфейсом Вы справитесь, Вы жутко ...   16.05.2006 17:18
LOVE133   Вчера докрутила, перестала мышь работать... не раб...   17.05.2006 15:49
Бродяжник   :unsure: У мя все работает... и причин ему не рабо...   18.05.2006 15:13
LOVE133   надеюсь - это окончательный вариант... Только есть...   19.05.2006 13:51
Бродяжник   Read this.   19.05.2006 16:16
LOVE133   Volvo , очень прошу вас прокомментировать код... ...   21.05.2006 22:01
pascal65536   Извините, что вмешиваюсь. Просто Вы затронули инте...   23.05.2006 6:07
LOVE133   Я с удовольчствием рассмотрю все предложения ))) К...   23.05.2006 7:33
Бродяжник   Love133 Если потерпите, завтра выложу версию с про...   24.05.2006 10:28
GoodWind   тут вот какая мысль возникла... а ведь большинство...   24.05.2006 11:50
LOVE133   а потому словарь отсортирован по алфавиту и длине...   24.05.2006 12:50
pascal65536   GoodWind Это поначалу так, что слова начинаются на...   24.05.2006 15:47
LOVE133   Paskal , как там насчет наработок ? мне было бы и...   24.05.2006 16:30
pascal65536   LOVE133 Думаете, быстрее? Нифига подобного. СтОит ...   24.05.2006 16:35
Бродяжник   Oops... Зашился я с работой, так что не до кроссво...   25.05.2006 16:43
LOVE133   давайте хоть черновик )))как-нибудь доковыряю, смы...   25.05.2006 19:22
pascal65536   Выкладываю исходник, для общего ознакомления. Толь...   25.05.2006 21:19
Бродяжник   Вот. Читайте ReadMe.txt Может, стоит подумать над ...   26.05.2006 9:31
LOVE133   Пасибки огромное ))) потихоньку разбераюсь, все ра...   27.05.2006 10:06
Бродяжник   Удачи!   29.05.2006 9:07


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 8.08.2025 4:23
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"