![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
P-Tigr |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Столкнулся с одной проблемой, 2 дня уже бьюсь... что делать - не знаю...
Если коротко, то дело вот в чем. Я написал процедуру для подсчета определителя матрицы любого порядка (методом Гаусса). И там над матрицей выполняются различные преобразования (складывания строк и т.д.). Причем - внимание - по условию задания матрица должна быть обязательно динамической! Процедура работает нормально, определитель находит, НО в то же время изменяет исходную матрицу, а этого нельзя допустить!! Происходит это, как мне кажется, из-за того, что такие матрицы - ссылки на память, поэтому передать ее в процедуру строго по значению нельзя... Замучился я с этими динамическими структурами... ![]() Please, умные люди, help me! |
![]() ![]() |
P-Tigr |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Извините пожалуйста, еще 1 вопрос, помогите разобраться!
Почему при вводе некоторых данных, например 1 1 1 1 1 1 1 1 1 в блоке функции нахождения определителя: for j:=0 to high(AC)-1 doв строке mnoj:=mn1/mn2; появляется ошибка, связанная с плавающей запятой: "Invalid floating point operation" или "Floating divizion by zero". ПОЧЕМУ? P.S.1. Ошибка появляется и при вводе разных чисел, но правда не всегда - очень странно... P.S.2. Я присоединил к письму exe-файл в rar-архиве - чтоб удобней было тестировать. Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 11:19 |