Подключение модуля к программе, Или проблема с модулем |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Подключение модуля к программе, Или проблема с модулем |
Relrin |
16.03.2011 21:55
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 0 |
Пишу программку на FreePascal. Написал модуль, который решает СЛАУ методом Гаусса. Скомпилировалсь без проблем, однако возникла при после подключения модуля и попытки запустить основную программу вылезла ошибка:
Цитата Error: Incompatible type for arg no. 5: Got "pr1.Vector", expected "SLAE.Vector" Основной код программы:
Прикрепляю также сделанный модуль... Сообщение отредактировано: Relrin - 16.03.2011 22:10 Прикрепленные файлы SLAE.pas ( 2.46 килобайт ) Кол-во скачиваний: 276 |
Lapp |
16.03.2011 22:11
Сообщение
#2
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Написал модуль, который решает СЛАУ методом Гаусса. Скомпилировалсь без проблем, однако возникла при после подключения модуля и попытки запустить основную программу вылезла ошибка: Основной код программы:
Прикрепляю также сделанный модуль... Ты переопределяешь константу nn и типы vector и matrix. Убери эти определения в главной программе, и компиляция пройдет. Нельзя передавать массив (особенно двумерный) другой размерности. Ты заводи массив полного размера и работай с его частью. Если же хочешь переменную размерность - нужен открытый массив. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Relrin |
16.03.2011 22:19
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 0 |
Ты переопределяешь константу nn и типы vector и matrix. Убери эти определения в главной программе, и компиляция пройдет. Нельзя передавать массив (особенно двумерный) другой размерности. Ты заводи массив полного размера и работай с его частью. Если же хочешь переменную размерность - нужен открытый массив. Ок, спасибо, скомплировалось, однако результаты работы, т.е. решения СЛАУ теперь получились везде нулевые... Под "открытым массивом" подразумевается динамический массив, да? |
Lapp |
16.03.2011 22:29
Сообщение
#4
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Под "открытым массивом" подразумевается динамический массив, да? Нет, это разные вещи.Открытый массив - это способ передачи параметров в процедуру/функцию. Поищи по форуму типа на "+открыт* +массив*" (без кавычек). -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
16.03.2011 23:00
Сообщение
#5
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
результаты работы, т.е. решения СЛАУ теперь получились везде нулевые... Естественно, нулевые. У тебя же результат передается через x, а он не описан, как var. Сделай его var'ом и передавай в процедуры настоящий размер системы (то есть 4). У меня все отработало: Исходная матрица: -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 10.06.2024 12:33 |