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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KBAC
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 72
#1

стек - C++

25.12.2010, 14:24. Просмотров 706. Ответов 3
Метки нет (Все метки)

в функцию "взятие из стека" подается одно значение головы (нужное, правильное), а внутри функции уже совсем другое(не нужное и не правильное) head меняется в отладке на переходе со 2 на 3 строчку
C++
1
2
3
4
5
6
STACK* PopStack(STACK* &head)
{
    STACK *p=head;
    head=head->next;
    return p;
}
вызов :
C++
1
 STACK elem = *PopStack(head);
первый раз такое 0_0 вроде как обычно все передаю, и в
C++
1
2
3
4
5
6
7
8
void PushStack(STACK elem,STACK* &head)
{
    STACK *ptr = head;
    head = new STACK;
 
    head=&elem;
    head->next = ptr;
}
все работает правильно. где ошибка, подскажите !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2010, 14:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос стек (C++):

Используя стек, описать функцию проверяющую, является ли стек пустым - C++
Используя стек, описать функцию проверяющую, является ли стек пустым

Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами - C++
Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами #include <iostream> #include <stdlib.h> ...

Переменные в стеке. Где хранятся? Как обрабатываются? Есть ли программный стек или только стек процессора? - C++
Есть у меня пробелы в познаниях, хотел бы их устранить. 1. Что такое стек в самом языке С++ ? 2. В какой памяти он хранится и почему...

при работе рекурсивной функции заканчивается стек и программа соответственно; как сделать так, чтобы она писала "стек закончился"? - C++
Сабж g++ 4.5.0

Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...) - C++
Всем привет,ребят помогите пожалуйста с лабой,вообще без понятия про стеки:( Может кто то делал,или встречался с таким заданием: ...

Стек - C++
Имеется такой код: struct stack { int a; struct stack *next; }; void push(stack* &next, int a) { stack *pv =...

3
selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
25.12.2010, 15:25 #2
Цитата Сообщение от KBAC Посмотреть сообщение
все работает правильно. где ошибка, подскажите !
это как?
0
.4rray
8 / 8 / 0
Регистрация: 15.12.2010
Сообщений: 41
25.12.2010, 16:53 #3
Ну как минимум в PopStack нужно удалять элемент, который взяли.
0
KBAC
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 72
26.12.2010, 19:46  [ТС] #4
selevit, в PushStack все ништяк всмысле.
.4rray, так если я его удалю , то удалится и возвращенное значение

Добавлено через 22 часа 28 минут
скорее всего что, head как то неправильно передается в функцию, только ни как не могу понять каким образом..
0
26.12.2010, 19:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2010, 19:46
Привет! Вот еще темы с ответами:

Стек - C++
Реализовать с использованием массива стек (первый пришел, последний ушел), для чего организовать добавление, удаление элементов в массив и...

Стек - C++
#include "stdafx.h" #include <iostream> using namespace std; class Stack_mass { public: int *data; int max_count,...

Стек - C++
задание: Требуется реализовать структуру данных стек при помощи массива, размер массива константый, В операциях вставки и удаления...

Стек - C++
Реализовать при помощи одного массива два стека, суммарное количество элементов в которых ограничено длиной массива. Все стандартные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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