Advertisement
80LK

PZ31 AKT

Mar 11th, 2020
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.19 KB | None | 0 0
  1. // PZ31.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  2. //
  3.  
  4. #include "pch.h"
  5. #include <iostream>
  6.  
  7. using namespace std;
  8.  
  9. int* bite(int x) {
  10.     int l = floor(log(x) / log(2)) + 1;
  11.     if (x == 0) l = 1;
  12.  
  13.     int *m = new int[l + 1];
  14.  
  15.     m[0] = l;
  16.  
  17.     for (int i = l; i > 0; i--){
  18.         m[i] = (x & 1);
  19.         x = x >> 1;
  20.     }
  21.  
  22.     return m;
  23. }
  24.  
  25. void quest1() {
  26.     int x;
  27.     do {
  28.         cout << "Введите X:";
  29.         cin >> x;
  30.     } while (x < 0);
  31.  
  32.     int *m = bite(x);
  33.    
  34.     cout << "10: " << x << endl
  35.          << "2: ";
  36.  
  37.     for (int i = 1; i <= m[0]; i++) {
  38.         cout << m[i];
  39.     }
  40.  
  41.     cout << endl;
  42. }
  43.  
  44.  int* invert2bite(int x) {
  45.     int *m = bite(x);
  46.  
  47.     for (int i = 1; i <= m[0]; i+=2) {
  48.         m[i] = !m[i];
  49.     }
  50.  
  51.     return m;
  52. }
  53.  
  54. void quest2() {
  55.     int x;
  56.     do {
  57.         cout << "Введите X:";
  58.         cin >> x;
  59.     } while (x < 0);
  60.  
  61.      int *n = invert2bite(x);
  62.  
  63.     cout << "10: " << x << endl
  64.         << "2: ";
  65.  
  66.     for (int i = 1; i <= n[0]; i++) {
  67.         cout << n[i];
  68.     }
  69.  
  70.     cout << endl;
  71. }
  72.  
  73. int main()
  74. {
  75.     setlocale(0, ".1251");
  76.    
  77.     while (1) {
  78.         system("cls");
  79.  
  80.         quest2();
  81.  
  82.         system("pause");
  83.     }
  84.  
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement