eolymp
bolt
Try our new interface for solving problems
Problems

Очередь с защитой от ошибок

published at 2/13/20, 9:32:42 pm

на информатиксе эта же задаче заходит успешно, в чем проблема, можете подсказать?

published at 4/3/24, 2:20:30 am

include <iostream>

include <queue>

include <string>

using namespace std;

class Queue { private: queue<int> q;

public: void push(int item) { q.push(item); cout << "ok" << endl; }

void pop() {
    if (!q.empty()) {
        cout << q.front() << endl;
        q.pop();
    } else {
        cout << "error" << endl;
    }
}

void front() {
    if (!q.empty()) {
        cout << q.front() << endl;
    } else {
        cout << "error" << endl;
    }
}

void size() {
    cout << q.size() << endl;
}

void clear() {
    while (!q.empty()) {
        q.pop();
    }
    cout << "ok" << endl;
}

};

int main() { Queue queue;

string command;
int value;

while (cin >> command) {
    if (command == "push") {
        cin >> value;
        queue.push(value);
    } else if (command == "pop") {
        queue.pop();
    } else if (command == "front") {
        queue.front();
    } else if (command == "size") {
        queue.size();
    } else if (command == "clear") {
        queue.clear();
    } else if (command == "exit") {
        cout << "bye" << endl;
        break;
    }
}

return 0;

}

published at 4/3/24, 2:30:26 am

include <iostream>

include <queue>

include <string>

using namespace std;

class Queue { private: queue<int> q;

public: void push(int item) { q.push(item); cout << "ok" << endl; }

void pop() {
    if (!q.empty()) {
        cout << q.front() << endl;
        q.pop();
    } else {
        cout << "error" << endl;
    }
}

void front() {
    if (!q.empty()) {
        cout << q.front() << endl;
    } else {
        cout << "error" << endl;
    }
}

void size() {
    cout << q.size() << endl;
}

void clear() {
    while (!q.empty()) {
        q.pop();
    }
    cout << "ok" << endl;
}

};

int main() { Queue queue;

string command;
int value;

while (cin >> command) {
    if (command == "push") {
        cin >> value;
        queue.push(value);
    } else if (command == "pop") {
        queue.pop();
    } else if (command == "front") {
        queue.front();
    } else if (command == "size") {
        queue.size();
    } else if (command == "clear") {
        queue.clear();
    } else if (command == "exit") {
        cout << "bye" << endl;
        break;
    }
}

return 0;

}