2 / 2 / 1
Регистрация: 14.08.2010
Сообщений: 41
|
||||||
1 | ||||||
Ошибка с переполнением стека26.10.2011, 16:11. Показов 914. Ответов 6
Метки нет (Все метки)
Тут такое дело...в-общем, вот условие:
В исходном файле сначала идёт число n - общее количество треугольников. Далее в n строках идут х и у координаты каждой вершины каждого треугольника (т. е на одной строке находятся 3 х- и 3 у-координаты). Требуется написать программу, вычисляющую общую площадь всех этих треугольников (они могут наползать друг на друга). Я решил вот как: напиасать отдельную функцию проверки owned, и потом в переменных real проверять, принадлежит ли точка хотя бы одному из треугольников. Координаты точки изменяются с неким шагом dx и dy. Проблема в том, что при запуске программы курсор становится на слово begin процедуры checkowned и выдаётся ошибка "Error 202. Stack overflaw error."
0
|
26.10.2011, 16:11 | |
Ответы с готовыми решениями:
6
Как бороться с переполнением стека Переполнением стека при вычислении функции с через рекурсию! Редкая ошибка, связанная с переполнением стека Как бороться с переполнением стека |
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
26.10.2011, 18:53 | 2 | |||||
Добавлено через 1 минуту Уменьшил cst до 100, переполнения не стало, но программа зависла, так и не дождался конца. По-моему нужно максимально возможно уменьшить число переменных. Добавлено через 45 секунд По крайней мере при тестировании программы взять минимально возможное число треугольников.
0
|
2 / 2 / 1
Регистрация: 14.08.2010
Сообщений: 41
|
|
26.10.2011, 21:01 [ТС] | 3 |
Насчёт присваивания xmax и xmin - это просто я описался. Бывает. Насчёт переменных - не знаю, вроде бы все лишние я поудалял...
Что до треугольников - я и так брал 3 штуки...
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
26.10.2011, 21:17 | 4 |
Но под переменную-массив выделено для 1000 треугольников, да еще куча всего.
0
|
2 / 2 / 1
Регистрация: 14.08.2010
Сообщений: 41
|
|
27.10.2011, 20:20 [ТС] | 5 |
Кое-что начал проясняться. После уменьшения значения const стало выскакивать сообщения Error 207. Invalid floating point operation. Курсор при этом никуда не становится. Судя по всему, он обижается на фнукцию arcos...может есть нормальный способ найти косинус, а не мой индусский?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
27.10.2011, 20:28 | 6 |
Да нет другого способа, просто нужно дополнить случаями когда косинус=0,1,-1.
0
|
2 / 2 / 1
Регистрация: 14.08.2010
Сообщений: 41
|
|
27.10.2011, 20:38 [ТС] | 7 |
А вот этого не заметил. И правда, знаменатель-то в 0 обратиться можетно всё равно именно в ней всё дело. Нашёл в ней несущественную ошибку, выкинул лишние скобки - 0 эмоций...
0
|
27.10.2011, 20:38 | |
27.10.2011, 20:38 | |
Помогаю со студенческими работами здесь
7
Проблема с переполнением стека при табуляции функции Реализация бинарного древа с помощью рекурсии чревата переполнением стека? Ошибка, связанная с переполнением буфера Ошибка Томката связанная с переполнением.. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |