Форум программистов, компьютерный форум 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 написать консольную программу на языке C++ с использованием операторов цикла while или do-while. Строковый тип для представления чисел, обработка которых требуется по заданию, не использовать Само задание: Вводится натуральное... http://www.cyberforum.ru/cpp-beginners/thread395128.html
В каждой строке матрицы Z(5,6) сдвинуть все элементы вправо на один разряд C++
Люди добрые, помогите. В каждой строке матрицы Z(5,6) сдвинуть все элементы вправо на один разряд (циклически). Если при этом в последнем столбце оказался ноль, то заменить его числом P, введённым с клавиатуры. Элементы последнего столбца вывести в массив. Вывести исходную и преобразованную матрицы, полученный массив. Добавлено через 10 часов 53 минуты Почему никто не хочет мне помочь? ...
массив символов (строки) C++
Ребят, подскажите как реализовать: нужно проверить встречаются ли в слове "привет", символы из слова "ракета" если символы не встречаются (т.е. ввели "привет" и "как"), то вывести это первое слово "привет". Пример: ввели 1 слово "привет", 2-"пена" (встречаются "п" и "е") - не выводит "привет" ввели 1 слово "привет", 2-"как" (не встречаются символы из слова "как") - вывели "привет) ...
C++ Сделать структурный массив.дан имя,адрес,номер дома,квартиры,телефон.Вывести студентов у которых нет телефона! http://www.cyberforum.ru/cpp-beginners/thread395112.html
сделать структурный массив.дан имя,адрес,номер дома,квартиры,телефон.Вывести студентов у которых нет телефона! это задача вот что сделал я #include<iostream.h> #include<conio.h> #include<fstream.h> #include<strign.h> struct student { char name;//imya studenta char adress;//adress
C++ Приложение win32 Собсно вот в чем задание: "В ресурсном файле задать три битовых образа. В клиентской области окна разместить три нажимаемые кнопки (pushbutton), по нажатию которых про-исходит смена выводимого в клиентскую область окна рисунка. Если, рисунок превышает размеры клиентской области окна, появляются горизонтальная и вертикальная полосы скроллинга, позволяющие просмотреть рисунок. Кнопка – флаг... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,297
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++, он напрось не ловит системные исключения, то есть абсолютно. И переполнение вновь созданного стека я хотел отслеживать вручную

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