Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
unikalen
-2 / 1 / 1
Регистрация: 06.06.2013
Сообщений: 65
1

Реализовать структуру данных стек, содержащую следующие методы:

12.06.2013, 20:59. Просмотров 811. Ответов 9
Метки нет (Все метки)

Реализовать структуру данных стек, содержащую следующие методы: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека, считать стек из стандартного потока, записать стек до потока стандартного.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 20:59
Ответы с готовыми решениями:

Описать структуру с именем ., содержащую следующие поля
Описать структуру с именем marsh, содержащую следующие поля: -номер маршрута;...

Создать структуру Hotel, содержащую следующие данные
Решите следующую задачу, используя структуры. При решении задач использовать...

Описать структуру с именем NOTE, содержащую следующие поля:
1. Описать структуру с именем NOTE, содержащую следующие поля: ■ фамилия,...

Описать структуру с именем OBMEN, содержащую следующие поля:
Описать структуру с именем OBMEN, содержащую следующие поля: -количество...

Описать структуру с именем AEROFLOT, содержащую следующие поля
Помогите написать программу. Описать запись необходимой структуры. Описать...

9
anmartex
...
1710 / 1203 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
13.06.2013, 18:01 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
#include <stdexcept>
 
template<class T>
class TStack
{
   protected:
      struct TNode
      {
         T data;
         TNode* next;
      }* stack;
 
      TStack(const TStack&);
 
   public:
      TStack(): stack(NULL) { ; }
      ~TStack()
      {
         while (stack)
         {
            Pop();
         }
      }
 
      TStack& Push(T data)
      {
         TNode* node = new TNode;
         node->data = data;
         node->next = stack;
         stack = node;
 
         return *this;
      }
 
      TStack& Pop() throw(std::range_error)
      {
         if (stack == NULL)
         {
            throw std::range_error("stack is empty");
         }
 
         TNode* node = stack;
         stack = stack->next;
         delete node;
 
         return *this;
      }
 
      T& Top() throw(std::range_error)
      {
         if (stack == NULL)
         {
            throw std::range_error("stack is empty");
         }
         return stack->data;
      }
 
      size_t Size() const
      {
         size_t size = 0;
 
         for (const TNode* node = stack; node; node = node->next)
         {
            size++;
         }
 
         return size;
      }
 
      friend std::ostream& operator << (std::ostream& os, const TStack<T>& stack)
      {
         const TNode* node = stack.stack;
 
         for (; node; node = node->next)
         {
            os << node->data << ", ";
         }
         os << "\b\b \b";
         return os;
      }
 
      friend std::istream& operator >> (std::istream& is, TStack<T>& stack)
      {
         T data;
 
         is >> data;
 
         stack.Push(data);
 
         return is;
      }
};
 
int main()
{
   TStack<int> stack;
 
   for (size_t i = 0; i < 5; ++i)
   {
      std::cout << "input " << i + 1 << " of 5: ";
      std::cin >> stack;
   }
 
   std::cout << stack << " : " << stack.Size() << std::endl;
 
   return 0;
}
Реализовать структуру данных стек, содержащую следующие методы:
0
accept
4833 / 3255 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
15.06.2013, 11:55 3
сделать пустым
пуст/не пуст
добавить элемент
взять элемент
прочитать/записать вершину
удалить вершину
0
unikalen
-2 / 1 / 1
Регистрация: 06.06.2013
Сообщений: 65
15.06.2013, 23:49  [ТС] 4
accept,Пожалуйста Прошу сделать эти все просьбы!)
0
unikalen
-2 / 1 / 1
Регистрация: 06.06.2013
Сообщений: 65
17.06.2013, 21:48  [ТС] 5
anmartex, Прошу тебя реализировать пожалуйста остальное добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека, считать стек из стандартного потока, записать стек до потока стандартного.

Добавлено через 1 минуту
anmartex, чтоб в консоле были задани все эти возможности тоисть чтоб например под 1) это добавить елемент в стэк 2) удалить елемент! ну типа того!
0
anmartex
...
1710 / 1203 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
18.06.2013, 04:13 6
Цитата Сообщение от unikalen Посмотреть сообщение
anmartex, Прошу тебя реализировать пожалуйста остальное добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека, считать стек из стандартного потока, записать стек до потока стандартного.
Внимательно посмотрите на класс, это всё уже реализовано:
  1. Push - добавить элемент в стек;
  2. Pop - удалить элемент из стека;
  3. Top - получить значение с вершины стека;
  4. Size - размер стека;
  5. operator << - считать стек из стандартного потока;
  6. operator >> - записать стек до потока стандартного.
0
unikalen
-2 / 1 / 1
Регистрация: 06.06.2013
Сообщений: 65
18.06.2013, 10:51  [ТС] 7
anmartex, сделай пожалуйста в консоле чтоб можна било задавать
1) это добавить елемент в стэк 2) удалить елемент 3)получить значение с вершины стека; 4)размер стека;
5)считать стек из стандартного потока; 6)записать стек до потока стандартного.
0
zer0mail
2452 / 2089 / 216
Регистрация: 03.07.2012
Сообщений: 7,571
Записей в блоге: 1
18.06.2013, 11:20 8
ТС хоть что-нибудь сам запрограммировать может? Или все задания будет делать через форум?
0
unikalen
-2 / 1 / 1
Регистрация: 06.06.2013
Сообщений: 65
18.06.2013, 11:27  [ТС] 9
zer0mail, могу! но мне щас по этому именно ваша помощь нада!
0
anmartex
...
1710 / 1203 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
18.06.2013, 15:35 10
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include <iostream>
#include <string>
#include <stdexcept>
 
template<class T>
class TStack
{
   protected:
      struct TNode
      {
         T data;
         TNode* next;
      }* stack;
 
      TStack(const TStack&);
 
   public:
      TStack(): stack(NULL) { ; }
      ~TStack()
      {
         Clear();
      }
 
      TStack& Push(T data)
      {
         TNode* node = new TNode;
         node->data = data;
         node->next = stack;
         stack = node;
 
         return *this;
      }
 
      TStack& Pop() throw(std::range_error)
      {
         if (stack == NULL)
         {
            throw std::range_error("stack is empty");
         }
 
         TNode* node = stack;
         stack = stack->next;
         delete node;
 
         return *this;
      }
 
      T& Top() throw(std::range_error)
      {
         if (stack == NULL)
         {
            throw std::range_error("stack is empty");
         }
         return stack->data;
      }
 
      void Clear()
      {
         while (!IsEmpty())
         {
            Pop();
         }
      }
 
      size_t Size() const
      {
         size_t size = 0;
 
         for (const TNode* node = stack; node; node = node->next)
         {
            size++;
         }
 
         return size;
      }
 
      bool IsEmpty() const
      {
         return (stack == NULL);
      }
 
      friend std::ostream& operator << (std::ostream& os, const TStack<T>& stack)
      {
         const TNode* node = stack.stack;
 
         for (; node; node = node->next)
         {
            os << node->data << ", ";
         }
         os << "\b\b \b";
         return os;
      }
 
      friend std::istream& operator >> (std::istream& is, TStack<T>& stack)
      {
         T data;
 
         is >> data;
 
         stack.Push(data);
 
         return is;
      }
};
 
int main()
{
   TStack<int> stack;
 
   std::cout << "stack operations:" << std::endl
             << "1. push" << std::endl
             << "2. pop" << std::endl
             << "3. top" << std::endl
             << "4. size" << std::endl
             << "5. view" << std::endl;
 
   bool quit = false;
   std::string command;
 
   while (!quit)
   {
      std::cout << ": ";
      std::cin >> command;
 
      switch (command[0])
      {
         case '1':
            std::cout << "element: ";
            std::cin >> stack;
            break;
 
         case '2':
            try
            {
               stack.Pop();
               std::cout << "element removed" << std::endl;
            }
            catch (const std::range_error& error)
            {
               std::cerr << error.what() << std::endl;
            }
            break;
 
         case '3':
            try
            {
               std::cout << "top: " << stack.Top() << std::endl;
            }
            catch (const std::range_error& error)
            {
               std::cerr << error.what() << std::endl;
            }
            break;
 
         case '4':
            std::cout << "size: " << stack.Size() << std::endl;
            break;
 
         case '5':
            std::cout << "stack: " << stack << std::endl;
            break;
 
         default:
            quit = true;
      }
   }
 
   return 0;
}
0
18.06.2013, 15:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2013, 15:35

Описать структуру с именем STUDENT, содержащую следующие поля:
1. Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и...

Описать структуру с именем Price, содержащую следующие поля
Если у вас есть время, то можно еще построчно :-#include &quot;stdafx.h&quot; #include...

Описать структуру с именем ZNAK, содержащую следующие поля
Описать структуру с именем ZNAK, содержащую следующие поля: TIME – время...


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

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

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