Я бы сделал через вектор (потом бы долго спорил с преподом что использовать свободную память в задании не было):
Код:
00 <-- Указатель на начало bptr (begin)
01
02 <- при извлечении смещаем обратно
03 <-- Указатель на конец gptr (get)
04 <- при запоминании смещаем вперёд
05
06
<-- Конец памяти (максимальная длина стека) eptr (end)
Таким образом нужно:
- Выделить кусочек памяти, достаточный чтобы поместить максимальное кол-во элементов
- Заталкивание в стек: *bptr++ = value;
- Возврат из стека: return *--bptr;
Ну и не забываем проверять границы: bptr <= gptr < eptr
Тов. программисты форума, у меня в браузере глючит перенос строчки, когда заполнишь окошко ввода ответа (удаляет перенос строки или проворачивает прокрутку обратно), IE8