0 / 0 / 0
Регистрация: 11.04.2016
Сообщений: 7
|
|
1 | |
Ошибка run-rime error M6201 : Math "sqrt : DOMAIN error"20.04.2016, 18:38. Показов 5438. Ответов 3
Дополняю расчетную программу на фортране, основанную на работе с массивами.
При дополнении был внесено еще два массива. Данные программа получает из внешнего текстового файла. При просчете одних и тех же данных в новой и старой версии программы, старая норм справляется, а у новой возникают ошибки (притом в подпрограммах, в которых изменений не вносилось и они вызываются раньше дополненной. экран выдает: run-rime error M6201 : Math - sqrt : DOMAIN error далее в поле номера строк подпрограммы, в которых выполняется математическое преобразование членов одного из массивов. Сдается мне, программе может не хватать памяти, хотя, в силу совсем недавнего знакомства с этим языком, могу ошибаться. Добавлено через 4 часа 12 минут Хм, хотя нашла область сдвинутую на один пробел, возможно именно здесь собака зарыта.
0
|
20.04.2016, 18:38 | |
Ответы с готовыми решениями:
3
Ошибка math domain error pow overflow error и sqrt: domain error (массивы, нахождение общей суммы по формуле) sqrt: DOMAIN error sqrt:Domain error Math domain error |
0 / 0 / 0
Регистрация: 11.04.2016
Сообщений: 7
|
|
11.05.2016, 21:05 [ТС] | 3 |
Погоняла программу: судя по всему, в массиве формируется нулевое значение, при этом программа иногда это место проходит нормально, и выдает аналогичную ошибку для логарифма уже дальше по тексту (получается такая плавающая ошибка в вычислениях), но там с типом данных все должно быть нормально и ноль формироваться на должен.
У меня две версии программы: в новой на два массива больше, чем в старой. программы разбиты на подпрограммы и ошибки формируются в непереписанных подпрограммах, которые вызываются раньше. Т.е. с одними и теми же данными и одним и тем же текстом подпрограмм старая версия считает без проблем, а новая нет. Пробовала увеличивать размер под память массивов, как советовали знакомые - не помогает. Может у ПК или компилятора быть какие-то проблемы с памятью, или что может такое быть??? Еще была бы крайне признательна, если б кто-нибудь прогнал программку у себя: чудеса случаются и в программировании...
0
|
60 / 69 / 16
Регистрация: 18.04.2016
Сообщений: 213
|
|
11.05.2016, 23:52 | 4 |
Очевидно, аргумент не в области допустимых значений.
Прогнать всеми доступными компиляторами со всякими -traceback, -g, -debug all, -check all, -fpe{}. Ну, и без кода смотреть особо не на что, может там коррапченные массивы с левым приведением типов, а может опечатка с implicit'ом. Добавлено через 1 час 56 минут Неверно, sqrt бы тогда был назван external процедурой, так как internal не работает с такими типами (перегрузка-перегрузочка), после чего компилятор бы выругался, что не определенно такое имя.
0
|
11.05.2016, 23:52 | |
11.05.2016, 23:52 | |
Помогаю со студенческими работами здесь
4
Math domain error ValueError: math domain error Ошибка при выполнении кода "sqrt: DOMAIN error" Вычисление выражения и ошибка "sqrt DOMAIN error" ошибка "math domain error" в части кода ниже Выдает ошибку sqrt : DOMAIN ERROR Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |