Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.11.2025
Размер:
1.19 Кб
Скачать
#include <iostream>
#include <locale>
using namespace std;

class stack {
    int* s;
    int top;
    int size;
public:
    stack(int max = 100) {
        top = -1;
        size = max;
        s = new int[max];
    }
    
    ~stack() {
        delete[] s;
    }
    
    void push(int value) {
        if (top < size - 1) {
            s[++top] = value;
        }
    }
    
    int pop() {
        if (top >= 0) {
            return s[top--];
        }
        return 0;
    }
    
    stack operator!() const {
        stack result(size);
        for (int i = 0; i <= top; i++) {
            result.push(-s[i]);
        }
        return result;
    }
    
    void print() const {
        cout << "Стек: ";
        for (int i = 0; i <= top; i++) {
            cout << s[i] << " ";
        }
        cout << endl;
    }
};


int main() {
    setlocale(LC_ALL, "ru_RU.UTF-8");
    
    stack s1(5);
    s1.push(1);
    s1.push(-2);
    s1.push(3);
    
    cout << "Исходный стек: ";
    s1.print();
    
    stack s2 = !s1;
    cout << "После операции: ";
    s2.print();
    
    return 0;
}
Соседние файлы в папке Лаба4