![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
-LOVE133- |
![]()
Сообщение
#1
|
Гость ![]() |
скачала несколько юнитов для работы с мышью, но при запуске программы требует файл типа TPU , а все юниты просто с расширение PAS. что в этих ситуациях обычно делают?
|
![]() ![]() |
Бродяжник |
![]()
Сообщение
#2
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Привет!
В последнем выложенном файле есть как минимум следующие ошибки: 1. Еще раз возвращаюсь к разнице между text и file of string. Ваш словарь - это text, а не file of string. Поэтому к нему нельзя обращаться, как к file of string. В частности, нельзя использовать процедуру seek. Сделайте следующую вещь: напишите маленькую программу такого вида: program test;А потом сравните файлы f1.txt и f2.txt. И найдите 10 отличий. Поэтому считывание слова из словаря (GEt_word_from_sl) не работает. 2. Теперь к функции Maska_Slova, конкретно вот к этому фрагменту: with gnezdo doЕсли if horizontal, то почему увеличивается игрек? Ведь это вертикальная координата? 3. Процедура Get_Gnezda (я уже об этом упоминал). for i:=1 to n do Если индекс i отсчитывается от единицы, это значит, что будет обращение к ячейке a[i-1,j] то есть a[0,j]. А такой ячейки нет. Поэтому такое обращение даст ошибку. Значит, надо учитывать эту особенность - если клетка находится в 1 столбце, у нее не может быть соседей слева. То же самое касается клеток первой строки: у них не может быть соседей сверху. Чтобы это учесть, я в своих экспериментах написал функцию, которая при обращении к несуществующим ячейкам ведет себя так, как если бы там были "небуквенные" ячейки. Вы можете обойти это по-другому, но эту проблему надо решить. 4. Вы вставили в функцию ARBEIT присваивание ng := 1; Это не совсем то, что требовалось, потому что это напрочь убило рекурсию. Это нужно было прописать перед первым вызовом ARBEIT: if a[i,j]=1 then bukv[i,j]:=' ' else bukv[i,j]:='0'; Или просто if ARBEIT( bukv,1) then ok:=true ; Для начала разберитесь с этим. |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 6:18 |