| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Стёк |
| Автор: Crut 9.12.2007, 12:31 | ||
Каким образом можно расширить пространство стёка? Вот: я написал игру типа "кто хочет стать миллионером", но толтько там надо угадать мелодию. Вопросов 20; Когда я перехожу на 19 вопрос, то выходит ошибка, что стёк перепонен. Ес чо компиллтор указывает на ту функцию, которая узнаёт случайное чило до 20 и проверяет, было ли оно. Вот она:
Заранее благодарен... |
| Автор: MAKCim 9.12.2007, 12:41 | ||
замени рекурсию циклом
Добавлено @ 12:42 и не стёк, а стек Добавлено @ 12:43 кроме того, у тебя нет проверки на то, что все wass[i] равны true |
| Автор: Crut 9.12.2007, 12:51 |
| Я нашёл, где можно увеличьть размер стёка, увеличил. А она теперь Access Ovulation выдаёт и показывает на файл быблиотеки stdlib.h, точнее на функцию random. Ничё не пойму... |
| Автор: MAKCim 9.12.2007, 12:54 |
| Crut, ты посты читаешь? |
| Автор: Crut 9.12.2007, 12:54 |
| Проверка на все was в данном случае не нужна! bool was[20] - это обьявление той переменной. При нажатии кнопки-варианта, она считает номер и если он больше 20, то вызавает функцию конца игры. А та в свою очередь все was приводит к false... Добавлено через 1 минуту и 25 секунд Хотя попробую, всё равно - спасибо! |
| Автор: Crut 9.12.2007, 13:15 | ||||||
| Сделал всё как ты сказал... Теперь ошибок не выдаёт, но после 19 зависает... Добавлено @ 13:19 Я неменого изменил случайный выбор:
Вот так я написал check_count:
А вот код кнопки - варианта:
|
| Автор: MAKCim 9.12.2007, 13:50 | ||
Добавлено через 3 минуты и 33 секунды почему у тебя wass определен как bool[20], а индексы начинаются с 1? надо с нуля |
| Автор: Crut 9.12.2007, 14:00 |
| потому-что не нравиться мне писать с нуля.. А wass bool - я не понаял, почему нет??? |
| Автор: MAKCim 9.12.2007, 14:04 | ||||||
в С/С++ индексы в массиве начинаются с нуля если ты определил wass как bool wass[20], то последний элемент будет иметь индекс 19, а не 20 у тебя же в check_count а пробегает значения от 1 до 20 включительно, т. е выходит за границу массива
|
| Автор: Crut 9.12.2007, 14:16 |
| Ах Да! Яже и забыл, что в массиве n - 1. А к стати --a это просто сколько будет если a--, с учётом, что а не изменяется или при использовании такого в функции позвращается не а, а а--? |
| Автор: MAKCim 9.12.2007, 14:25 |
| Crut, ты сам понял, что сказал? я нет |
| Автор: Crut 9.12.2007, 14:30 |
| --a что возвращается? И что будет с а? |
| Автор: ksili 10.12.2007, 06:08 | ||
1) Ничто никуда не возвращается, т.к. здесь нету return'а! 2) a уменьшится на единицу
Бу-го-га-га-га-га! |
| Автор: Crut 10.12.2007, 13:35 |
| Вопрос с а возник по причине того, что в разных книгах оператор -- выполняет функции по разному... |
| Автор: ksili 10.12.2007, 13:45 |
сумневаюсь... а книги по одному языку программирования были? |
| Автор: Lazin 11.12.2007, 08:58 |
это как? |
| Автор: dumb 11.12.2007, 10:44 |
| Lazin, а ты как думал?! - нужный доступ рождается в муках! |
| Автор: Crut 11.12.2007, 14:41 |
| сумневаюсь... а книги по одному языку программирования были? - Да! Но увы по чистому с++... |