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

реализация стека - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить количество положительных элементов массива, предшествующих первому отрицательному http://www.cyberforum.ru/cpp-beginners/thread676523.html
Определить количество положительных элементов массива, предшествующих первому отрицательному. Входной файл lb 4_17. in содержит в первой строке одно число – N (количество элементов массива А). Во второй строке входного файла содержится N чисел, разделенных пробелами, и являющихся элементами массива А. В ыходной файл lb 4_17. out - в первой строке число, равное количеству положительных элементов...
C++ Повернуть матрицу по часовой стрелке Что нужно сделать, чтобы повернуть матрицу по часовой стрелке?? если меняешь i и j местами, но она повернется против часовой на 90 градусов, а нужно по часовой, уже и не знаю что делать? поделитесь мозгом:) http://www.cyberforum.ru/cpp-beginners/thread676499.html
C++ Верно ли, что все цифры данного четырехзначного числа различны
Используя оператор if, выполнить задание: Дано натуральное четырехзначное число n. Верно ли, что все четыре цифры числа различны, как, например, различны все 4 цифры следующих чисел: 0123, 9760, 5432.
Списки: реализовать слияние трёх списков в один C++
Подскажите пожалуйста, как реализовать слияние трёх списков в один.
C++ Перегрузка оператора ввода и наследование http://www.cyberforum.ru/cpp-beginners/thread676477.html
Добрый день! Обращаюсь по такому поводу. Есть одна программа, в которой требуется перегрузить операторы ввода.вывода для одного из классов. Проблема в том, что этот класс - наследник и если перегружать как для остальных, то выдает ошибку. Я нашел одно рабочее решение, но при выдаче на консоль оно также выводит какой-то мусор. Как с этим разобраться? Код проблемного участка: class Animal {...
C++ нужно найти ошибку в коде вот код: пишет ошибки такие : "expected expression before % token" "повторная декларация s без привязки" а еще делает замечание: "здесь была предыдущая декларация 's' " Разъясните что да как я делаю не правильно. В общем-то я пытаюсь вычислить выражение s=(x+1)+...+(x+1)*...*(x+n). n-веществ. x-целое. подробнее

Показать сообщение отдельно
fantamas
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 4
21.10.2012, 15:30     реализация стека
всем привет!
народ помогите с программой (не пойму в чем ошибка, помогите исправить)

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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#define N 1024
using namespace std;
struct ELEMENT
{
int Content;
ELEMENT *Next;
};
typedef ELEMENT *LPELEMENT;
class STACK
{
public:
void initial();
int Push(int Content);
int Pop(int &Content);
int Empty(int Content);
int Full(int Content);
void OutPut();
public:
LPELEMENT Start;
};
 
 
void STACK::initial()
{
Start=NULL;
}
 
int STACK::Empty(int Content)
{
if (Content==0)
return 1;
else
return 0;
 
}
 
int STACK::Full(int Content)
{
if (Content==N)
return 1;
else
return 0;
 
}
 
int STACK::Push(int Content)
{
LPELEMENT NE=new ELEMENT;
if(!NE)
return 0;
NE->Content=Content;
NE->Next=Start;
Start=NE;
return 1;
}
 
int STACK::Pop(int &Content)
{
if(!Start)
return 0;
Content=Start->Content;
LPELEMENT Temp=Start;
Start=Start->Next;
delete Temp;
return 1;
}
 
void STACK::OutPut()
{
if(!Start)
{
printf("стек пуст\n");
return;
}
LPELEMENT Temp=Start;
while(Temp)
{
printf("%i\n",Temp->Content);
Temp=Temp->Next;
}
}
 
void main()
{setlocale(LC_ALL,"Russian");
STACK Stack;
int x;
char c;
 
do
{
cout << "1. Добавление элемента в вершину стека" << endl
<< "2. Удаление элемента из вершины стека" << endl
<< "3. Вывести элементы стека" << endl
<< "4. Проверка пустоты стека" << endl
<< "5. Проверка заполненности стека" << endl
<< "0. Выход" << endl;
cin >> c;
switch(c)
{
case '1':
if (Stack.Full(x)==1)
cout << endl << "Стек полный" << endl;
else
{
Stack.Push(x);
cout << endl << "Элемент добавлен в стек" << endl;
}
break;
case '2':
if (Stack.Empty(x)==1)
cout << endl << "Стек пуст" << endl;
else
{
Stack.Pop(x);
cout << endl << "Элемент удален из стека" << endl;
}
break;
case '3':
if (Stack.Empty(x)==1)
cout << endl << "Стек пуст" << endl;
else
{
cout << endl << "Элементы стека" << endl;
Stack.OutPut();
cout << endl;
}
break;
case '4':
if (Stack.Empty(x)==1)
cout << endl << "Стек пуст" << endl;
else
cout << endl << "В стеке "<< ELEMENT.Content <<" элемента" << endl; // тут
case '5':
if (Stack.Full(x)==1)
cout << endl << "Стек полный" << endl;
else
cout << endl << "Есть возможность добавить " << N-ELEMENT.Content << " элементов" << endl; // тут 
break;
 
case'0':
break;
default:
cout << endl << "Ошибка" << endl;
break;
}
}while(c!='0');
cin.get();
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru