Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void clear_array(int* array_of_elements,int razmer)
- {
- for (int i=0;i<razmer; i++)
- array_of_elements[i]=0;
- }
- void unshift(int* array_of_elements,int razmer,int& ukazatel_unshift,int& ukazatel_shift,int& ukazatel_push,int new_element,bool& vse_zapolnino)
- {
- if ((ukazatel_unshift==ukazatel_push)&&(ukazatel_unshift==0))
- {
- array_of_elements[ukazatel_unshift]=new_element;
- ukazatel_unshift++;
- ukazatel_push=razmer-1;
- return;
- }
- if ((ukazatel_unshift<razmer)&&(ukazatel_unshift!=ukazatel_push+1))
- {
- array_of_elements[ukazatel_unshift]=new_element;
- ukazatel_shift=ukazatel_unshift;
- ukazatel_unshift++;
- return;
- }
- if ((ukazatel_unshift==ukazatel_push+1)||(ukazatel_unshift==razmer-1))
- vse_zapolnino=true;
- }
- int shift(int*array_of_elements,int razmer,int& ukazatel_shift,int ukazatel_push)
- {
- if (ukazatel_shift!=ukazatel_push)
- {
- if (ukazatel_shift!=0)
- {
- ukazatel_shift--;
- return array_of_elements[ukazatel_shift+1];
- }
- if (ukazatel_shift==0)
- {
- ukazatel_shift=razmer-1;
- return array_of_elements[0];
- }
- }
- if (ukazatel_shift==ukazatel_push)
- {
- if (ukazatel_push!=razmer-1)
- return array_of_elements[ukazatel_push+1];
- else
- return array_of_elements[0];
- }
- }
- void push(int* array_of_elements,int razmer,int& ukazatel_push,int& ukazatel_pop,int& ukazatel_unshift,int new_element,bool& vse_zapolnino)
- {
- if ((ukazatel_unshift==ukazatel_push)&&(ukazatel_unshift==0))
- {
- array_of_elements[ukazatel_push]=new_element;
- ukazatel_unshift++;
- ukazatel_push=razmer-1;
- return;
- }
- if (ukazatel_push!=ukazatel_unshift-1)
- {
- array_of_elements[ukazatel_push]=new_element;
- ukazatel_pop=ukazatel_push;
- ukazatel_push--;
- return;
- }
- if ((ukazatel_push==ukazatel_unshift-1)||(ukazatel_push==0))
- vse_zapolnino=true;
- }
- int pop(int* array_of_elements,int razmer,int& ukazatel_pop,int ukazatel_unshift)
- {
- if (ukazatel_pop!=ukazatel_unshift)
- {
- if (ukazatel_pop!=razmer-1)
- {
- ukazatel_pop++;
- return array_of_elements[ukazatel_pop-1];
- }
- if (ukazatel_pop==razmer-1)
- {
- ukazatel_pop=0;
- return array_of_elements[razmer-1];
- }
- }
- if (ukazatel_pop==ukazatel_unshift)
- {
- if (ukazatel_pop!=0)
- return array_of_elements[ukazatel_unshift-1];
- if (ukazatel_pop==0)
- return array_of_elements[razmer-1];
- }
- }
- int main()
- {
- int array_of_elements[10];
- int ukazatel_unshift=0;
- int ukazatel_shift=0;
- int ukazatel_push=0;
- int ukazatel_pop=0;
- bool vse_zapolnino = false;
- int k=0;
- clear_array(array_of_elements,10);
- while (k!=1)
- {
- int c;
- int b;
- cin >> b;
- if(vse_zapolnino==false)
- {
- if (b==1)
- {
- cout << "unshift: ";
- cin >> c;
- unshift(array_of_elements,10,ukazatel_unshift,ukazatel_shift,ukazatel_push,c,vse_zapolnino);
- }
- if (b==3)
- {
- cout << "push: ";
- cin >> c;
- push(array_of_elements,10,ukazatel_push,ukazatel_pop,ukazatel_unshift,c,vse_zapolnino);
- }
- }
- else
- {
- cout << "function 1 and 3 nedostupna " << endl;
- ukazatel_unshift=11;
- ukazatel_push=11;
- }
- if (b==0)
- {
- cout << "shift: " << shift(array_of_elements,10,ukazatel_shift,ukazatel_push) << endl;
- }
- if (b==2)
- {
- cout << "pop: " << pop(array_of_elements,10,ukazatel_pop,ukazatel_unshift) << endl;
- }
- //for (int i=0;i<10;i++)
- //cout<<array_of_elements[i]<<" ";
- //cout<<"UK POP: "<<ukazatel_pop<<" UK SHIFT: "<<ukazatel_shift<<" UK PUSH: "<< ukazatel_push<<" UK UNSHIFT: "<<ukazatel_unshift<< endl;
- // cout << "Ukazatel Shift: " << ukazatel_shift << endl;
- // cout << "Ukazatel Shift: " << ukazatel_pop << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement