C/C++

Помогите написать код c++

Дано число N (>0) и набор из N чисел. Создать стек, содержащий исходные числа (последнее число будет вершиной стека), и вывести указатель на его вершину.
#include <iostream>
using namespace std;
class Stack {
public:
Stack(int buffer) :
buffer(buffer),
stack(nullptr),
next(nullptr),
end(nullptr) {
}
~Stack() {
if (stack != nullptr) clear();
}
void push(int value) {
if (stack == nullptr) {
stack = new int[buffer];
next = stack;
end = stack + buffer;
}
if (next != end) {
*next = value;
++next;
}
}
void pop() {
--next;
if (next == stack) clear();
}
void clear() {
delete[] stack;
end = next = stack = nullptr;
}
size_t size()const {
if (stack != nullptr) return next - stack;
return 0;
}
bool empty()const {
return stack == nullptr;
}
int* top() {
if (next != stack) return next - 1;
return stack;
}
private:
int buffer;
int* stack;
int* next;
int* end;
};
int main() {
Stack stack(5);
stack.push(10);
stack.push(20);
stack.push(30);
stack.push(40);
stack.push(50);
if (!stack.empty()) {
int* pointer = stack.top();
cout << *pointer << endl;
} else {
puts("Stack empty!");
}
system("pause > nul");
}
Дима Жанна Бодаговы
Дима Жанна Бодаговы
97 099
Лучший ответ
наверное в с++ постоянно нужно изобретать какой-то велосипед...
Вам нужно реализовать свой класс стек, или использовать любую готовую структуру данных, реализующую принцип FIFO?
upd.: да, перепутал, лифо

https://pastebin.com/vy15zP1B
Условия у вас неполные. "Дано число N (>0) и набор из N чисел" и где они даны?
Или N пользовательно должен ввести, а затем набор чисел программа сама формирует?

upd.2:
Иди, сдай и проверь, подойдёт или нет. Я будущее не умею предсказывать, только говнокодить.
MK
Mansurbek Kodirov
737
Николай Каяшев ну вот такая задача, на листе с задачей идут примеры кода и сами задачи то что ты отправил это подойдет ?)