Advertisement
evgenko

Untitled

Jun 12th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.15 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. void clear_arrow(int* arrow_of_elements,int razmer)
  5. {
  6.     for (int i=0;i<razmer; i++)
  7.         arrow_of_elements[i]=0;
  8. }
  9. /*int proverka(int*a, int razmer)
  10. {
  11.     int i;
  12.     for (i=0;i<razmer;i++)
  13.         if (a[i]==0)
  14.             return 1;
  15.     if (i==razmer-1)
  16.         return 0;
  17. }*/
  18. void unshift(int* arrow_of_elements,int* arrow_of_bil_li_zapis_elementa,int razmer,int& ukazatel_shift, int newelement)
  19. {
  20.     while (arrow_of_bil_li_zapis_elementa[ukazatel_shift]==1)
  21.     {
  22.         if(ukazatel_shift!=razmer-1)
  23.         {
  24.             ukazatel_shift++;
  25.         }
  26.         else
  27.             ukazatel_shift=0;
  28.     }
  29.     arrow_of_elements[ukazatel_shift]=newelement;
  30.     arrow_of_bil_li_zapis_elementa[ukazatel_shift]=1;
  31.     if(ukazatel_shift!=razmer-1)
  32.     {
  33.         ukazatel_shift++;
  34.     }
  35.     else
  36.         ukazatel_shift=0;
  37. }
  38. int shift(int*arrow_of_elements,int razmer,int& ukazatel_shift)
  39. {
  40.     if (ukazatel_shift!=0)
  41.     {
  42.         ukazatel_shift--;
  43.     }
  44.     else
  45.         ukazatel_shift=razmer-1;
  46.     return arrow_of_elements[ukazatel_shift];
  47. }
  48.  
  49. void push(int* arrow_of_elements,int* arrow_of_bil_li_zapis_elementa,int razmer,int& ukazatel_pop, int newelement)
  50. {
  51.     while (arrow_of_bil_li_zapis_elementa[ukazatel_pop]!=1)
  52.     {
  53.         if (ukazatel_pop!=0)
  54.         {
  55.             ukazatel_pop--;
  56.         }
  57.         else
  58.             ukazatel_pop=razmer-1;
  59.     }
  60.     arrow_of_elements[ukazatel_pop]=newelement;
  61.     arrow_of_bil_li_zapis_elementa[ukazatel_pop]=1;
  62.     if (ukazatel_pop!=0)
  63.     {
  64.         ukazatel_pop--;
  65.     }
  66.     else
  67.         ukazatel_pop=razmer-1;
  68. }
  69. int pop(int* arrow_of_elements,int razmer,int& ukazatel_pop)
  70. {
  71.     if (ukazatel_pop!=razmer-1)
  72.     {
  73.         ukazatel_pop++;
  74.     }
  75.     else
  76.         ukazatel_pop=0;
  77.     return arrow_of_elements[ukazatel_pop];
  78. }
  79.  
  80.  
  81. int main()
  82. {
  83.     int arrow_of_elements[10];
  84.     int arrow_of_bil_li_zapis_elementa[10];
  85.     int ukazatel_shift=0;
  86.     int ukazatel_pop=9;
  87.     int k=0;
  88.     int chetchik=0;
  89.     clear_arrow(arrow_of_elements,10);
  90.     clear_arrow(arrow_of_bil_li_zapis_elementa,10);
  91.     while (k!=1)
  92.     {
  93.         int c;
  94.         int b;
  95.         cin >> b;
  96.         if(chetchik<=9)
  97.         {
  98.             if (b==1)
  99.             {
  100.                 cout << "unshift: ";
  101.                 cin >> c;
  102.                 unshift(arrow_of_elements,arrow_of_bil_li_zapis_elementa,10,ukazatel_shift,c);
  103.                 chetchik++;
  104.             }
  105.             if (b==3)
  106.             {
  107.                 cout << "push: ";
  108.                 cin >> c;
  109.                 push(arrow_of_elements,arrow_of_bil_li_zapis_elementa,10,ukazatel_pop,c);
  110.                 chetchik++;
  111.             }
  112.         }
  113.         else
  114.         cout << "function 1 and 3 nedostupna " << endl;
  115.         if (b==0)
  116.         {
  117.             cout << "shift: " << shift(arrow_of_elements,10,ukazatel_shift) << endl;
  118.         }
  119.         if (b==2)
  120.         {
  121.             cout << "pop: " << pop(arrow_of_elements,10,ukazatel_pop) << endl;
  122.         }
  123.        // cout << "Ukazatel Shift: " << ukazatel_shift << endl;
  124.        // cout << "Ukazatel Shift: " << ukazatel_pop << endl;
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement