Advertisement
operaatoors

H(x) = B(x) mod n (C++ programma)

Mar 7th, 2016
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. struct bin
  6. {
  7.     bin * next;
  8.     int v;
  9. };
  10.  
  11. void Input(bin * w, int num)
  12. {
  13.     w->next = new bin;
  14.     w->next->v = num;
  15.     w->next->next = NULL;
  16. }
  17.  
  18. void Output(bin * temp)
  19. {
  20.     if(temp->next != NULL)
  21.     {
  22.         Output(temp->next);
  23.     }
  24.    
  25.     if(temp->v != 2)
  26.     {
  27.         cout<<temp->v;
  28.     }
  29.    
  30. }
  31.  
  32. void MidSix(bin * temp, int mas[6])
  33. {
  34.     int sum = 0;
  35.     bin * o;
  36.     o = temp;
  37.    
  38.     while(o->next != NULL)
  39.     {
  40.         sum ++;
  41.         o = o->next;
  42.     }
  43.    
  44.     sum = (sum - 6) / 2;
  45.    
  46.     while(sum > 0)
  47.     {
  48.         temp = temp->next;
  49.         sum --;
  50.     }
  51.    
  52.     while(sum < 6)
  53.     {
  54.         temp = temp->next;
  55.         mas[5 - sum] = temp->v;
  56.         sum ++;
  57.     }
  58.    
  59.     sum=0;
  60.    
  61.     cout<<"\nMid:";
  62.    
  63.     int y=0;
  64.     while(sum<6)
  65.     {
  66.         cout<<mas[sum];
  67.    
  68.         if(mas[sum] == 1)
  69.         {
  70.             y = y + pow(2,sum);
  71.         }
  72.    
  73.         sum++;
  74.     }
  75.  
  76.     for (int e = 0; e < 6; e ++)
  77.     {
  78.         if(mas [5-e] == 1)
  79.         {
  80.             y = y + pow(2,e);
  81.         }
  82.     }
  83.  
  84.     cout<<"\nDec:"<< y ;
  85.  
  86. }
  87.  
  88. int main()
  89. {
  90.     int mas[6];
  91.     bin u, * q, *y;
  92.  
  93.     q = &u;
  94.     y = &u;
  95.     q->v = 2;
  96.     char end;
  97.     int num, x;
  98.    
  99.     num = 100;
  100.    
  101.     do
  102.     {
  103.         x = num % 2;
  104.         Input (q,x);
  105.         q = q->next;
  106.         if(x == 1){num - 1;}
  107.        
  108.         if(num != 1)
  109.         {
  110.             num = num / 2;
  111.         }
  112.         else{ end = 'Y';}
  113.     }while(end != 'Y');
  114.    
  115.     cout<<"\nBin:";
  116.     Output(y);
  117.     cout<<"\n";
  118.    
  119.     MidSix(y->next, mas);
  120.  
  121.     cout<<"\n\n";
  122.     system("pause");
  123.     return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement