![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
BlowUp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 17.6.2009 Репутация: нет Всего: нет |
Пытаюсь написать программу реализующую фрактал по алгоритму "Игра Хаос" на Builder 6.0(к сути дела это,конечно , отношения не имеет). Не имея особых навыков программирования, я написал следующий код:
Скомпилировать мне удаётся. А когда выполнить, ввожу необходимые параметры и нажимаю кнопку, описанную выше появляется ошибка: Project raised exception class EStackOverflow with message 'Stack overflow'. Как будто Циклы бесконечные. Может быть кто подскажет в каком направлении поиска мне двигаться?? Это сообщение отредактировал(а) BlowUp - 15.2.2010, 19:22 |
|||
|
||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 2 Всего: 9 |
Убери из цикла srand(time(NULL));. Эта ф-ция должна вызываться один раз (можно при инициализации приложения). Может это не причина, но всё-же. Функция F не рекурсивная?
Это сообщение отредактировал(а) Albor - 15.2.2010, 14:17 |
|||
|
||||
BlowUp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 17.6.2009 Репутация: нет Всего: нет |
Поставил srand(time(NULL)); перед самым циклом ,к сожалению , ничего не изменилось. Сказать рекурсивная функция или нет не могу, я это пока не сильно понимаю(( . Но определяю я её следующим образом (пытался сделать аналогично учебнику):
Также пробовал вместо функции просто вставить её код-определении внутрь программы. Результат, пока тот же: "Stack Overflow". Что ещё может быть не так?? Это сообщение отредактировал(а) BlowUp - 15.2.2010, 19:20 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
2. Почитай про оператор "запятая", думаю, ты не этого ожидал. 3. Ты уверен, что управление доходит до указанного тобой кода? У меня есть подозрение, что вылет происходит в момент определения массива U. Не забывай, есть ограничения на размер автоматических переменных (тех, для которых не выделяется динамическая память с использованием malloc или new) |
|||
|
||||
BlowUp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 17.6.2009 Репутация: нет Всего: нет |
Спасибо за подсказки. Особенно за "запятую". Вместо двумерного массива стал использовать два одномерных (в задаче это не принципиально), что в данном случаи избавило от появления ошибки.
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |