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

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

Войти
Регистрация
Восстановить пароль
 
radamaerl
27 / 6 / 1
Регистрация: 20.12.2012
Сообщений: 39
#1

Указатели в стеках - C++

20.12.2012, 00:25. Просмотров 272. Ответов 2
Метки нет (Все метки)

Есть структура стека
есть две функции - добавления элемента в стек и удаления всего стека
ЗАДАЧА - нужно сделать копию первого стека, с копией провести манипуляции и чтобы первый стек остался


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
struct tstk
{ int inf;
tstk *a; } ;
 
tstk *AddStask(tstk *sp, int inf)
{ tstk *spt=new tstk;
spt->inf = inf;
spt->a = sp;
return spt; } ;
 
tstk *DelStackAll(tstk *sp)
{ tstk *spt; int inf;
while(sp != NULL) {
spt = sp;
inf= sp->inf;
cout << inf << endl;
sp = sp->a;
delete spt; }
return NULL; } ;
 
int main(int argc, char *argv[])
{
   tstk *sp,*spt;
   sp=spt=NULL;
   for (int i=-50;i<=50;i++)
   sp=AddStask(sp, i);
   spt=sp;    //вот тут
   DelStackAll(sp) ;
   DelStackAll(spt) ;
   cout << "Press the enter key to continue ...";
   cin.get();
   return EXIT_SUCCESS;
}
при удалении любой строки DelStackAll все ок
я так понимаю проблема возникает так как второму указателю при удалении первого стека указывать не на что
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 00:25     Указатели в стеках
Посмотрите здесь:

вопрос по стеках (stack) - C++
Задание: Реализовать стек с помощью массива data , в котором последний элемент массива, а не отдельная переменная, используеться для...

Подсчитать общее число элементов в стеках - C++
Здравствуйте. Пожалуйста, как можно проще, не используя классы, помогите решить задачу: Даны два стека,содержащие последовательности...

Указатели - C++
Почему такой вариант кода невозможен(конкретно: строка 6)?int indicator, x = 15, y = 10; int *ptr; cin &gt;&gt; indicator; ...

указатели - C++
Здравствуйте! Ребят , вы не могли бы объяснить некоторые нюансы ,связанные с указателями, недалекому человеку? допустим: int N; ...

Указатели С++ - C++
Здравствуйте) Помогите пожалуйста, нужно написать программу, в которой нужно имитировать функцию strchr(используя только указатели и не...

Указатели С - C++
Объясните пожалуйста как получается что запись типа *(1+data) эквивалентна записи 1. Как из data получается *(1+data) и *(data+1)...

Указатели - C++
Имеется массив C, состоящий из N элементов. Имеется указатель *p, который хранит в себе эти N элементов. Имеется указатель *d, в...

Указатели в Си - C++
Добрый вечер! Почему MinGW ругается при объявлении: char *str = {&quot;Hello&quot;, &quot; World!&quot;}; Объясните пожалуйста, как со строковыми...

Указатели - C++
Доброго времени суток всем. Прошу помощи с выполнением вот такого вот задания: Найти количество пар соседних элементов, имеющих...

Указатели - C++
Что это означает? while(*p), if(*p) это типа проверка есть ли у указателя значение? или что-то другое?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nshell32gmail
5 / 5 / 1
Регистрация: 26.11.2012
Сообщений: 19
20.12.2012, 02:26     Указатели в стеках #2
Сначала есть исходный стек. Создаешь еще два. Первый раскручиваешь в один из них, а из него во второй и исходный, так получается обе копии (исходный и один из созданных). Третий удаляешь.
radamaerl
27 / 6 / 1
Регистрация: 20.12.2012
Сообщений: 39
20.12.2012, 12:10  [ТС]     Указатели в стеках #3
точно
спс
Yandex
Объявления
20.12.2012, 12:10     Указатели в стеках
Ответ Создать тему
Опции темы

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