Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- struct Queue {
- float* arr;
- int max_size = 7;
- int count = 0;
- void push(float item) {
- if (count == max_size)
- {
- cout << "Очередь переполнена! Добавление невозможно\n";
- }
- else
- {
- float* temp= new float[count];
- temp = arr;
- arr = new float[count + 1];
- for (int i = 0; i < count; i++) arr[i] = temp[i];
- arr[count] = item;
- count++;
- if (count > 1) delete[] temp;
- }
- }
- void pop() {
- if (count==0)
- {
- cout << "Очередь пуста! Удаление невозможно\n";
- }
- else
- {
- float item = arr[0];
- float* temp=new float[count-1];
- count--;
- for (int i = 0; i < count; i++) temp[i] = arr[i + 1];
- if (count > 0) delete[] arr;
- arr = temp;
- cout << item << endl;
- }
- }
- void print() {
- if (count > 0)
- cout << arr[0]<<endl;
- else
- cout<<"Очередь пуста! Вывод невозможен\n";
- }
- void empty() {
- if (count == 0)
- cout << "Очередь пуста\n";
- else
- cout << "Очередь не пуста\n";
- }
- void full() {
- if (count == max_size)
- cout << "Очередь полна\n";
- else
- cout << "Очередь не полна\n";
- }
- void end() {
- for (int i = 0; i < count; i++)
- cout << arr[i] <<' ';
- cout << endl;
- }
- };
- int main()
- {
- setlocale(LC_ALL, "Rus");
- Queue* Q=new Queue;
- string command;
- float number;
- cout << "Введите команды управления очередью:\nPUSH - добавление элементa\nPOP - удаление элемента из очереди и его вывод\nPRINT - вывод первого в очереди\nEMPTY - проверка пустоты очереди\nFULL - проверка полноты очереди\nEND - вывод элементов очереди и завершение работы\n\n";
- while (true)
- {
- cout << endl;
- cin >> command;
- if (command == "END")
- break;
- else if (command == "PUSH")
- {
- cin >> number;
- Q->push(number);
- }
- else if (command == "POP")
- Q->pop();
- else if (command == "PRINT")
- Q->print();
- else if (command == "EMPTY")
- Q->empty();
- else if (command == "FULL")
- Q->full();
- else
- cout << "Такой команды нет!\n";
- };
- cout << "В очереди осталось: ";
- Q->end();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement