Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # include <iostream>
- # include <iomanip>
- using namespace std;
- string bin(int n, int len) {
- string answ;
- if (n == 0) {
- while(answ.size() < len) answ += '0';
- return answ;
- }
- do {
- answ = (to_string(n % 2)) + answ;
- n = n / 2;
- } while (n > 0);
- while(answ.size() < len)
- answ = '0' + answ;
- return answ;
- }
- int main() {
- string alphabet, line;
- cin >> alphabet >> line;
- int k = 0;
- for(int i = 0; i < alphabet.size(); i++){
- k++;
- }
- //определяем кольво знаков
- int n;
- if (k <= 2) n = 1;
- else if (k <= 4) n = 2;
- else if (k <= 8) n = 3;
- else if (k <= 16) n = 4;
- else if (k <= 32) n = 5;
- else if (k <= 64) n = 6;
- string id[k];
- //записываем двоичный код для числа
- for(int i = 0; i < k; i++) {
- id[i] = bin(i, n);
- }
- //выводим кодировку
- int letter_id=0;
- for( int i = 0; i < line.size(); i++){
- for( int j = 0; j < alphabet.size(); j++)
- if(alphabet[j] == line[i]){
- letter_id = j;
- }
- cout << id[letter_id] << " ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement