Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int N = 4; //розмір черги
- struct Queue
- {
- int data[N]; //масив даних
- int last; //вказівник на початок
- };
- void Creation(Queue* Q) //створення черги
- {
- Q->last = 0;
- }
- bool IsFull(Queue* Q) //перевірка на постоту
- {
- if (Q->last == 0) return true;
- else return false;
- }
- void Add(Queue* Q) //додавання
- {
- if (Q->last == N)
- {
- cout << "\nЧерга заповнена\n\n"; return;
- }
- int value;
- cout << "\nЗначення: ";
- cin >> value;
- Q->data[Q->last++] = value;
- cout << endl << "Елемент додано в чергу\n\n";
- }
- void Delete(Queue* Q) //видалення
- {
- for (int i = 0; i < Q->last && i < N; i++)
- Q->data[i] = Q->data[i + 1]; Q->last--;
- }
- int Size(Queue* Q) // Розмір черги
- {
- return Q->last;
- }
- void main()
- {
- setlocale(0, "");
- Queue Q;
- Creation(&Q);
- char number;
- do
- {
- cout << "1. Додати елемент" << endl;
- cout << "2. Видалити елемент" << endl;
- cout << "3. Дізнатись розмiр черги" << endl;
- cout << "0. Вийти\n\n";
- cout << "Виберiть команду: ";
- cin >> number;
- switch (number)
- {
- case '1': Add(&Q);
- break;
- case '2':
- if (IsFull(&Q))
- cout << endl << "Черга порожня\n\n";
- else
- {
- Delete(&Q);
- cout << endl << "Елемент видалено з черги\n\n";
- } break;
- case '3':
- if (IsFull(&Q))
- cout << endl << "Черга порожня\n\n";
- else
- cout << "\nРазмір черги: " << Size(&Q) << "\n\n";
- break;
- case '0': break;
- default:
- cout << endl << "Вихiд\n\n";
- break;
- }
- } while (number != '0');
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment