Facebook
From Capacious Hog, 3 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 49
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. /**
  9.  * Auto-generated code below aims at helping you parse
  10.  * the standard input according to the problem statement.
  11.  **/
  12.  
  13. int main()
  14. {
  15.     string MESSAGE;
  16.     getline(cin, MESSAGE);
  17.     cerr<<MESSAGE<<endl;
  18.     string odp = "";
  19.     string binary = "";
  20.     for ( int i = 0; i < MESSAGE.size(); i++)
  21.     {
  22.         int znak;
  23.         int z = 0;
  24.         znak = int(MESSAGE[i]);
  25.         cerr<<MESSAGE[i]<<'\t'<<znak<<endl;
  26.         string znak_bin = "";
  27.         for(int j = 0; znak > 0; j++)
  28.         {
  29.             znak_bin += to_string(znak%2);
  30.             znak/=2;
  31.             z++;
  32.         }
  33.         for (z; z<7; z++)
  34.             znak_bin = znak_bin+"0";
  35.         cerr<<MESSAGE[i]<<' '<<znak_bin<<endl;
  36.         binary = znak_bin + binary;
  37.     }
  38.         cerr<<"Napis binarnie: "<<binary<<endl;
  39.  
  40.         int j = binary.size() - 1;
  41.         int l = 1;
  42.         char s = binary[j];
  43.         while (j >=0)
  44.         {
  45.             j--;
  46.             if (binary[j] == s && j>=0)
  47.                 l++;
  48.             else
  49.             {
  50.                 if(s == '1')
  51.                     odp += "0 ";
  52.                 else if (s == '0')
  53.                     odp+="00 ";
  54.  
  55.                 for(int i = 0; i <l; i++)
  56.                     odp+="0";
  57.                 cerr<<"S: "<<s<<" j: "<<j<<endl;
  58.                 l=1;
  59.                 s = binary[j];
  60.                 if(j>=0)
  61.                     odp+=" ";
  62.             }
  63.  
  64.         }
  65.         cout<<odp;
  66. }