Advertisement
Guest User

Untitled

a guest
May 27th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <valarray>
  4.  
  5. using namespace std;
  6.  
  7. class Signal {
  8. public:
  9.     int address;
  10.     valarray<bool> message;
  11.     bool parity_code;
  12.  
  13. public:
  14.     void set_address(string s) {
  15.         this->address = stoi(s.c_str(), NULL, 16);
  16.     };
  17.  
  18.     void set_message(string s) {
  19.         message.resize(s.size());
  20.         for (int i = 0; i < s.size(); i++)
  21.         {
  22.             message[i] = s[i] == '1' ? true : false;
  23.         }
  24.     };
  25.  
  26.     // generate parity code
  27.     void gen_parity_code() {
  28.         int ones = 0;
  29.         for (auto bit : message)
  30.             if (bit == true)
  31.                 ones++;
  32.         parity_code = ones % 2;
  33.     };
  34. };
  35.  
  36. int main() {
  37.     Signal signal;
  38.     string address, message;
  39.     cin >> address >> message;
  40.     signal.set_address(address);
  41.     signal.set_message(message);
  42.     signal.gen_parity_code();
  43.  
  44.     cout << signal.address << " " << signal.parity_code << endl;
  45.     for (auto bit : signal.message)
  46.         cout << bit << " ";
  47.    
  48.     system("pause");
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement