Advertisement
Vladislav_Bezruk

queue

Oct 6th, 2021 (edited)
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.26 KB | None | 0 0
  1. /******************************************************************************
  2.  
  3.                               Online C++ Compiler.
  4.                Code, Compile, Run and Debug C++ program online.
  5. Write your code in this editor and press "Run" button to compile and execute it.
  6.  
  7. *******************************************************************************/
  8.  
  9. #include <iostream>
  10.  
  11. using std::cin;
  12. using std::cout;
  13. using std::endl;
  14.  
  15. #define STUDENT 10
  16. #define MIN_RAND 1
  17. #define MAX_RAND 100
  18.  
  19.  
  20. class QUEUE {
  21.  
  22.         int max_size = 5;//STUDENT*5 + 50;
  23.         int start = 0, size = 0;
  24.         int temp, *arr;
  25.  
  26.     public:
  27.         QUEUE() {
  28.             cout<<"Queue was creating ... \n";
  29.             arr = new int [max_size];
  30.         }
  31.  
  32.         ~QUEUE() {
  33.             cout<<"queue was deleted ..." ;
  34.             delete[] arr;
  35.         }
  36.  
  37.         void rand_creator_all () {
  38.  
  39.             for (int i=0; i<max_size; i++) {
  40.  
  41.                 //cout<<"start = "<<start<<" ends =  "<<endl;
  42.  
  43.                 temp = rand() % MAX_RAND + MIN_RAND;
  44.                 set_element(temp);
  45.  
  46.                 //cout<<"start = "<<start<<" ends =  "<<endl;
  47.             }
  48.         }
  49.         void set_element(int element) {
  50.             int i = (start+size) % max_size;
  51.             arr[i]=element;
  52.             size++;
  53.  
  54.             //cout<<"start = "<<start<<" ends =  "<<endl;
  55.  
  56.         }
  57.  
  58.         void set_elements() {
  59.             int num, element;
  60.             cout<<"Enter amount elements ";
  61.             cin >> num;
  62.             if(num>max_size) {
  63.                 cout<< "bigger for max size queue\n";
  64.             } else {
  65.                 for(int i=0; i<num; i++) {
  66.                     cout << "Enter element: ";
  67.                     cin >> element;
  68.  
  69.                     set_element(element);
  70.                 }
  71.             }
  72.  
  73.         }
  74.  
  75.         void get_first() {
  76.             size--;
  77.             int answer = arr[start];
  78.             if (size)
  79.                 start = (start + 1) % max_size;
  80.  
  81.             cout<<"first element "<<answer<<endl;
  82.             //cout<<"start = "<<start<<" ends =  "<<endl;
  83.         }
  84.         void get_all_elements() {
  85.  
  86.             // cout<<"start = "<<start<<" endl =  "<<ends;
  87.  
  88.             while(size) {
  89.                 get_first();
  90.             }
  91.            
  92.  
  93.         }
  94.         void get_info() {
  95.             if(size > 0) {
  96.                 cout<< "queue not empty\n";
  97.             } else {
  98.                 cout<< "queue is empty\n";
  99.             }
  100.  
  101.         }
  102.  
  103.     private:
  104.  
  105. };
  106.  
  107. int main() {
  108.     QUEUE Pract2;
  109.  
  110.     Pract2.get_info();
  111.  
  112.     cout<<"Generate elements for queue...\n";
  113.     Pract2.rand_creator_all();
  114.  
  115.  
  116.     Pract2.get_first();
  117.     Pract2.get_all_elements();
  118.  
  119.  
  120.     //Pract2.set_element(10);
  121.     Pract2.set_elements();
  122.  
  123.     Pract2.get_all_elements();
  124.  
  125.     return 0;
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement