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

Неправильный вывод данных из стека С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление бинарного дерева по слоям http://www.cyberforum.ru/cpp-beginners/thread7894.html
вот задачка такая встала и ни че в голову не приходит. как будет выглядеть функция чтоб удаляла бинарное дерево по слоям? плиззз помогите!!!
C++ Найти сумму элементов первого и последнего столбца матрицы Дана целочисленная квадратная матрица. Найти сумму элементов первого и последнего столбца. Как это сделать подскажите. http://www.cyberforum.ru/cpp-beginners/thread7841.html
C++ Программа вылетает
Borland C++3.1 консольное приложение При определенных данных программа вылетает. Что это означает? ошибка?какая?
C++ Двухмерный динамический массив строк
Всем привет) Помогите пожалуйста создать двумерный динамический массив строк, почитал Подбельского, вроде сделала всё как по учебнику, но работать ничего не хочет =( #include<fstream.h>...
C++ ПОМОГИТЕ!!! http://www.cyberforum.ru/cpp-beginners/thread7803.html
Люди,помогите пожалуйста!!! Надо программу "Связанный список" с подробными коментариями к каждой строчке, написанную на С, это важно, что бы небыло классов,а только через структуру.Если у кого...
C++ Помогите начинающей программистке)))) Ребят)очень нужна ваша помощь))):help: можете помочь в написании проги : составить программу, моделирующую заполнение гибкого магнитного диска. Объем памяти на диске 360 Кбайт. Файлы имеют... подробнее

Показать сообщение отдельно
igor_nf
118 / 12 / 1
Регистрация: 21.08.2007
Сообщений: 222
07.05.2008, 10:23
А посмотри внимательно на очерёдность вызовов твоих push() и pop() и попробуй найти лажу сам. Твой алгоритм:

Код
push() {
увеличиваем значение итератора на 1.
используя данный итератор, записываем в стек новое значение
}
и потом, обрати внимание - перед первым вызовом pop() текущий итератор у тебя указывает на последнее помещённое значение в стек. А теперь посмотри на свой pop():

Код
pop() {
уменьшаем итератор на 1.
используя итератор, достаём значение из стека
}
Т.е. , в то время, как твой итератор указывает на верхний элемент, ты сначала уменьшаешь его(таким образом ты никогда не извлечёшь самый верхний элемент из стека).

Вывод: сначала думаем головой, потом делаем, не наоборот. Исправься быстро! Исправленный код пиши сюда.

P.S. И кстати. Писать под ДОСом нынче модно, да?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru