Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. # include <iostream>
  2. # include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. string bin(int n, int len) {
  7. string answ;
  8. if (n == 0) {
  9. while(answ.size() < len) answ += '0';
  10. return answ;
  11. }
  12.  
  13. do {
  14. answ = (to_string(n % 2)) + answ;
  15. n = n / 2;
  16. } while (n > 0);
  17. while(answ.size() < len)
  18. answ = '0' + answ;
  19. return answ;
  20. }
  21. int main() {
  22. string alphabet, line;
  23. cin >> alphabet >> line;
  24. int k = 0;
  25. for(int i = 0; i < alphabet.size(); i++){
  26. k++;
  27. }
  28. //определяем кольво знаков
  29. int n;
  30. if (k <= 2) n = 1;
  31. else if (k <= 4) n = 2;
  32. else if (k <= 8) n = 3;
  33. else if (k <= 16) n = 4;
  34. else if (k <= 32) n = 5;
  35. else if (k <= 64) n = 6;
  36.  
  37. string id[k];
  38. //записываем двоичный код для числа
  39. for(int i = 0; i < k; i++) {
  40. id[i] = bin(i, n);
  41. }
  42. //выводим кодировку
  43. int letter_id=0;
  44. for( int i = 0; i < line.size(); i++){
  45. for( int j = 0; j < alphabet.size(); j++)
  46. if(alphabet[j] == line[i]){
  47. letter_id = j;
  48. }
  49. cout << id[letter_id] << " ";
  50. }
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement