Advertisement
evgenko

Untitled

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