Advertisement
Guest User

#2

a guest
Mar 18th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.92 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int hex_to_bin(char*, int); // из 16 с.с. в 2 с.с и подсчёт нечётных битов
  4.  
  5. int main()
  6. {
  7.     char c; // Символ из потока ввода
  8.     char m[999]; // Массив символов
  9.     int counter = 0; // Количество элементов в массиве
  10.  
  11.     while((c = getchar()) != '\n')
  12.     {
  13.         m[counter] = c;
  14.         counter++;
  15.     }
  16.  
  17.     printf("%d", hex_to_bin(m, counter));
  18.     return 0;
  19. }
  20.  
  21. int hex_to_bin(char* m, int counter)
  22. {
  23.     int i;
  24.     int elem_a = 0;
  25.     int answer = 0;
  26.     char a[999];
  27.  
  28.     for(i = 0; i < counter; i++) // Быстрый перевод
  29.     {
  30.         if(m[i] == '0')
  31.         {
  32.             a[elem_a] = '0';
  33.             elem_a++;
  34.             a[elem_a] = '0';
  35.             elem_a++;
  36.             a[elem_a] = '0';
  37.             elem_a++;
  38.             a[elem_a] = '0';
  39.             elem_a++;
  40.          }
  41.         if(m[i] == '1')
  42.         {
  43.             a[elem_a] = '0';
  44.             elem_a++;
  45.             a[elem_a] = '0';
  46.             elem_a++;
  47.             a[elem_a] = '0';
  48.             elem_a++;
  49.             a[elem_a] = '1';
  50.             elem_a++;
  51.         }
  52.         if(m[i] == '2')
  53.         {
  54.             a[elem_a] = '0';
  55.             elem_a++;
  56.             a[elem_a] = '0';
  57.             elem_a++;
  58.             a[elem_a] = '1';
  59.             elem_a++;
  60.             a[elem_a] = '0';
  61.             elem_a++;
  62.         }
  63.         if(m[i] == '3')
  64.         {
  65.             a[elem_a] = '0';
  66.             elem_a++;
  67.             a[elem_a] = '0';
  68.             elem_a++;
  69.             a[elem_a] = '1';
  70.             elem_a++;
  71.             a[elem_a] = '1';
  72.             elem_a++;
  73.         }
  74.         if(m[i] == '4')
  75.         {
  76.             a[elem_a] = '0';
  77.             elem_a++;
  78.             a[elem_a] = '1';
  79.             elem_a++;
  80.             a[elem_a] = '0';
  81.             elem_a++;
  82.             a[elem_a] = '0';
  83.             elem_a++;
  84.         }
  85.         if(m[i] == '5')
  86.         {
  87.             a[elem_a] = '0';
  88.             elem_a++;
  89.             a[elem_a] = '1';
  90.             elem_a++;
  91.             a[elem_a] = '0';
  92.             elem_a++;
  93.             a[elem_a] = '1';
  94.             elem_a++;
  95.         }
  96.         if(m[i] == '6')
  97.         {
  98.             a[elem_a] = '0';
  99.             elem_a++;
  100.             a[elem_a] = '1';
  101.             elem_a++;
  102.             a[elem_a] = '1';
  103.             elem_a++;
  104.             a[elem_a] = '0';
  105.             elem_a++;
  106.         }
  107.         if(m[i] == '7')
  108.         {
  109.             a[elem_a] = '0';
  110.             elem_a++;
  111.             a[elem_a] = '1';
  112.             elem_a++;
  113.             a[elem_a] = '1';
  114.             elem_a++;
  115.             a[elem_a] = '1';
  116.             elem_a++;
  117.         }
  118.         if(m[i] == '8')
  119.         {
  120.             a[elem_a] = '1';
  121.             elem_a++;
  122.             a[elem_a] = '0';
  123.             elem_a++;
  124.             a[elem_a] = '0';
  125.             elem_a++;
  126.             a[elem_a] = '0';
  127.             elem_a++;
  128.         }
  129.         if(m[i] == '9')
  130.         {
  131.             a[elem_a] = '1';
  132.             elem_a++;
  133.             a[elem_a] = '0';
  134.             elem_a++;
  135.             a[elem_a] = '0';
  136.             elem_a++;
  137.             a[elem_a] = '1';
  138.             elem_a++;
  139.         }
  140.         if(m[i] == 'A' || m[i] == 'a')
  141.         {
  142.             a[elem_a] = '1';
  143.             elem_a++;
  144.             a[elem_a] = '0';
  145.             elem_a++;
  146.             a[elem_a] = '1';
  147.             elem_a++;
  148.             a[elem_a] = '0';
  149.             elem_a++;
  150.         }
  151.         if(m[i] == 'B' || m[i] == 'b')
  152.         {
  153.             a[elem_a] = '1';
  154.             elem_a++;
  155.             a[elem_a] = '0';
  156.             elem_a++;
  157.             a[elem_a] = '1';
  158.             elem_a++;
  159.             a[elem_a] = '1';
  160.             elem_a++;
  161.         }
  162.         if(m[i] == 'C' || m[i] == 'c')
  163.         {
  164.             a[elem_a] = '1';
  165.             elem_a++;
  166.             a[elem_a] = '1';
  167.             elem_a++;
  168.             a[elem_a] = '0';
  169.             elem_a++;
  170.             a[elem_a] = '0';
  171.             elem_a++;
  172.         }
  173.         if(m[i] == 'D' || m[i] == 'd')
  174.         {
  175.             a[elem_a] = '1';
  176.             elem_a++;
  177.             a[elem_a] = '1';
  178.             elem_a++;
  179.             a[elem_a] = '0';
  180.             elem_a++;
  181.             a[elem_a] = '1';
  182.             elem_a++;
  183.         }
  184.         if(m[i] == 'E' || m[i] == 'e')
  185.         {
  186.             a[elem_a] = '1';
  187.             elem_a++;
  188.             a[elem_a] = '1';
  189.             elem_a++;
  190.             a[elem_a] = '1';
  191.             elem_a++;
  192.             a[elem_a] = '0';
  193.             elem_a++;
  194.         }
  195.         if(m[i] == 'F' || m[i] == 'f')
  196.         {
  197.             a[elem_a] = '1';
  198.             elem_a++;
  199.             a[elem_a] = '1';
  200.             elem_a++;
  201.             a[elem_a] = '1';
  202.             elem_a++;
  203.             a[elem_a] = '1';
  204.             elem_a++;
  205.         }
  206.     }
  207.  
  208.     for(i = elem_a - 1; i >= 0; i -= 2)
  209.     {
  210.         if(a[i] == '1') answer++;
  211.     }
  212.     return answer;
  213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement