Advertisement
evgenko

Untitled

Jun 12th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.62 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* b,int razmer,int& ukazatel_shift, int newelement)
  19. {
  20.     while (b[ukazatel_shift]==1)
  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.     b[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*a,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 a[ukazatel_shift];
  47. }
  48.  
  49. void push(int* a,int* b,int razmer,int& ukazatel_pop, int newelement)
  50. {
  51.     while (b[ukazatel_pop]!=1)
  52.     {
  53.         if (ukazatel_pop!=0)
  54.         {
  55.             ukazatel_pop--;
  56.         }
  57.         else
  58.             ukazatel_pop=razmer-1;
  59.     }
  60.     a[ukazatel_pop]=newelement;
  61.     b[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* a,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 a[ukazatel_pop];
  78. }
  79.  
  80.  
  81. int main()
  82. {
  83.     int a[10];
  84.     int zanjat_ili_net[10];
  85.     int ukazatel_shift=0;
  86.     int ukazatel_pop=9;
  87.     int k=0;
  88.     int chetchik=0;
  89.     clear_mesiv(a,10);
  90.     while (k!=1)
  91.     {
  92.         int c;
  93.         int b;
  94.         cin >> b;
  95.         if(chetchik<=9)
  96.         {
  97.             if (b==1)
  98.             {
  99.                 cout << "unshift: ";
  100.                 cin >> c;
  101.                 unshift(a,zanjat_ili_net,10,ukazatel_shift,c);
  102.                 chetchik++;
  103.             }
  104.             if (b==3)
  105.             {
  106.                 cout << "push: ";
  107.                 cin >> c;
  108.                 push(a,zanjat_ili_net,10,ukazatel_pop,c);
  109.                 chetchik++;
  110.             }
  111.         }
  112.         else
  113.         cout << "function 1 and 3 nedostupna " << endl;
  114.         if (b==0)
  115.         {
  116.             cout << "shift: " << shift(a,10,ukazatel_shift) << endl;
  117.         }
  118.         if (b==2)
  119.         {
  120.             cout << "pop: " << pop(a,10,ukazatel_pop) << endl;
  121.         }
  122.        // cout << "Ukazatel Shift: " << ukazatel_shift << endl;
  123.        // cout << "Ukazatel Shift: " << ukazatel_pop << endl;
  124.     }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement