Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Создать отдельный стек для функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в алгоритме сортировки http://www.cyberforum.ru/cpp-beginners/thread395131.html
Пожалуйста укажите мне ошибку в реализуемом мною алгоритме сортировки #include <iostream> using namespace std; int main() {int x=0,a={2,3,1,9,4,6,5,8,7,0},n=10; for(int i=1;i<n;i++)
C++ while, do-while алгоритм , десятичная запись цифр Здравствуйте, помогите пожалуйста с заданием. Нужно на днях уже сдавать,а как сделать совсем не понимаю ((. На основе разработанного алгоритма в среде Visual Studio написать консольную программу на... http://www.cyberforum.ru/cpp-beginners/thread395128.html
В каждой строке матрицы Z(5,6) сдвинуть все элементы вправо на один разряд C++
Люди добрые, помогите. В каждой строке матрицы Z(5,6) сдвинуть все элементы вправо на один разряд (циклически). Если при этом в последнем столбце оказался ноль, то заменить его числом P, введённым с...
массив символов (строки) C++
Ребят, подскажите как реализовать: нужно проверить встречаются ли в слове "привет", символы из слова "ракета" если символы не встречаются (т.е. ввели "привет" и "как"), то вывести это первое слово...
C++ Сделать структурный массив.дан имя,адрес,номер дома,квартиры,телефон.Вывести студентов у которых нет телефона! http://www.cyberforum.ru/cpp-beginners/thread395112.html
сделать структурный массив.дан имя,адрес,номер дома,квартиры,телефон.Вывести студентов у которых нет телефона! это задача вот что сделал я #include<iostream.h> #include<conio.h>...
C++ Приложение win32 Собсно вот в чем задание: "В ресурсном файле задать три битовых образа. В клиентской области окна разместить три нажимаемые кнопки (pushbutton), по нажатию которых про-исходит смена выводимого в... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1696 / 883 / 45
Регистрация: 04.06.2008
Сообщений: 5,474
01.12.2011, 15:44  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
да не нужен для этого "отдельный стек"! Вот держи:

Так и мне не нужен! Вы читайте внимателльно, вы же не читаете тему. И код мне ваш без надобности, чай у меня свой есть и мой покомпактнее будет.
C++
1
Другое дело, что глубина рекурсии невысока, поэтому вряд ли стек переполнится.
Вы даже не спросили, какая глубина рекурсии. Потому, что вам всё равно, вам просто надо код выложить сюда. Вам чё, коды негде демонстрировать свои?

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Так вот, докладываю, если я вывожу сочетавния из m по n, у меня глубина рекурсии n. Считаем: каждая функция принимает пять параметров, плюс адрес возврата плюс ещё какая-нибудь херь, максимум ячеек 10, каждая занимает 4 байта, итого 40 ячеек. На одну функцию.
Переполнится стек. если я буду применять рекурсию? А прикинем

Предположим, ввыводим сочетания из 30 по 15 (ибо 30/2== 15, наибольшее количество вариантов). Так вот, по моим подсчётам, это займёт три года. Примерно, конечно. Я выводил эти значения на экран и перикидывал в меньшую (то есть невыгодну для меня сторону) как часто меняется одно из полей... Проверяйте, в общем

Если будем брать ещё большие значения,например из 32 по 16, то это уже 30 лет

Так, а глубина рекурсии составит всего 16*40= 640 байт при том, что стандартный стек 22E000 байт.

То есть стандарнтый стек windows, он не то, что не переполнится. Он в ПРИНЦИПЕ не переполнется.
Плюс код такой аккуратный. Ну это ладно, каждый кулик своё болото хвалит

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Вопрос: а на фига тогда мне сдался этот отдельный стек?
Ответ: компактный безопасный я не умею писать сразу, так вот в процессе тык скыть написания кода у меня частенько переполняется стек. Вот отдельный стек мне нужен для процесса тык скыть написания программ. Это основное. Понимаете, для отладки. А для готового кода мне отдельный стек без надобности.
Я, конечно, мог это написать в первом сообщении но смысл? Тем более, челу и так всё понятно чё мне надо.

Вы меня можете спросить, а чем тебя стандартный-то стек не устраивает, ведь вновь созданный точно также переполнится (хоть в процессе отладки, хоть как)?
Отвечаю: переполниться-то он переполнгится, но я хочу сделать так, чтобы вывести предупреждающее сообщение. А так как у меня компилятор g++, он напрось не ловит системные исключения, то есть абсолютно. И переполнение вновь созданного стека я хотел отслеживать вручную

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru