1#include<iostream>
2#include<string>
3
4inline std::string binary_conv(int,int,std::string);
5
6int main()
7{
8 long int number;
9 int base {27};
10 std::cout<<"\nPlease enter a non-negative integer:\t";
11 std::cin>>number;
12 while(number<=0)
13 {
14 std::cerr<<"\nWRONG!!!, Enter a number higher than zero\n";
15 std::cout<<"\nPlease enter a number\t";
16 std::cin>>number;
17 }
18 std::string binary_number;
19 binary_number = binary_conv(number,base,binary_number);
20
21
22 std::cout<<binary_number<<std::endl;
23
24 return 0 ;
25}
26
27std::string binary_conv(int number, int base,std::string binary)
28{
29 std::string zero_one = " abcdefghijklmnopqrstuvwxyz";
30 if(number==0)
31 return binary;
32 binary = zero_one[number%base]+binary;
33 number/=base;
34 return binary_conv(number,base,binary);
35}
36
1#include<iostream>
2#include<string>
3#include<cmath>
4
5int main()
6{
7
8
9 std::cout<<"Please enter a string of small letters and spaces:\t";
10 std::string str ;
11 getline(std::cin, str) ;
12
13
14 long int result {0};
15 long int value {0};
16 for(int i=0 ; i < str.length(); ++i)
17 {
18
19 switch(str[i]){
20
21 case ' ':
22 value = 0;
23 break;
24 case 'A':
25 case 'a':
26 value = 1;
27 break;
28 case 'B':
29 case 'b':
30 value = 2;
31 break;
32 case 'C':
33 case 'c':
34 value = 3;
35 break;
36 case 'D':
37 case 'd':
38 value = 4;
39 break;
40 case 'E':
41 case 'e':
42 value = 5;
43 break;
44 case 'F':
45 case 'f':
46 value = 6;
47 break;
48 case 'G':
49 case 'g':
50 value = 7;
51 break;
52 case 'H':
53 case 'h':
54 value = 8;
55 break;
56 case 'I':
57 case 'i':
58 value = 9;
59 break;
60 case 'J':
61 case 'j':
62 value = 10;
63 break;
64 case 'K':
65 case 'k':
66 value = 11;
67 break;
68 case 'L':
69 case 'l':
70 value = 12;
71 break;
72 case 'M':
73 case 'm':
74 value = 13;
75 break;
76 case 'N':
77 case 'n':
78 value = 14;
79 break;
80 case 'O':
81 case 'o':
82 value = 15;
83 case 'P':
84 case 'p':
85 value = 16;
86 break;
87 case 'Q':
88 case 'q':
89 value = 17;
90 break;
91 case 'R':
92 case 'r':
93 value = 18;
94 break;
95 case 'S':
96 case 's':
97 value = 19;
98 break;
99 case 'T':
100 case 't':
101 value = 20;
102 break;
103 case 'U':
104 case 'u':
105 value = 21;
106 break;
107 case 'V':
108 case 'v':
109 value = 22;
110 break;
111 case 'W':
112 case 'w':
113 value = 23;
114 break;
115 case 'X':
116 case 'x':
117 value = 24;
118 break;
119 case 'Y':
120 case 'y':
121 value = 25;
122 break;
123 case 'Z':
124 case 'z':
125 value = 26;
126 break;
127 default:
128 std::cout<<" The input string does not represent a number in base 27 "<<std::endl;
129 }
130 int power = (str.length()-1-i);
131 result += value*(pow(27,power));
132 }
133 if(str.length()>= 32)
134 {
135 std::cout<<"\nThe input string represents a number that is greater than 2ˆ32"<<std::endl;
136
137 }else{
138 std::cout<<"\n"<<result<<std::endl;
139 }
140
141
142 return 0 ;
143}
144
145
1#include<iostream>
2#include<string>
3#include<limits>
4
5inline std::string binary_conv(int,int,std::string);
6
7int main()
8{
9 long int number;
10 int base {27};
11 std::cout<<"\nPlease enter a non-negative integer:\t";
12 std::cin>>number;
13
14
15 while(1)
16 {
17 if(std::cin.fail())
18 {
19 std::cin.clear();
20 std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
21 std::cout<<"\nYou have entered wrong input!"<<std::endl;
22 std::cout<<"\nPlease enter a non-negative integer:\t";
23 std::cin>>number;
24 }
25 if(!std::cin.fail())
26 break;
27 }
28
29 std::string binary_number;
30 binary_number = binary_conv(number,base,binary_number);
31
32
33 std::cout<<binary_number<<std::endl;
34
35 return 0 ;
36}
37
38std::string binary_conv(int number, int base,std::string binary)
39{
40 std::string zero_one = " abcdefghijklmnopqrstuvwxyz";
41 if(number==0)
42 return binary;
43 binary = zero_one[number%base]+binary;
44 number/=base;
45 return binary_conv(number,base,binary);
46}
47
48
49
1#include<iostream>
2#include<cmath>
3#include<limits>
4#include<string>
5void print_value(const size_t value);
6// bool IllegalCharacters(int,const std::string, int);
7bool isalpha_isspace(const std::string&);
8
9
10int main()
11{
12 std::string eng2dec;
13 std::cout<<"\nPlease enter a string of small letters and spaces:\t";
14 getline(std::cin,eng2dec);
15
16 // checking if string is an alphabet or spaces
17 bool answer = isalpha_isspace(eng2dec);
18 if(answer == false)
19 {
20 std::cout<<"\nThe input string does not represent a number in base 27"<<std::endl;
21 exit(1);
22 }
23 // looping throught the string and converting the value of chars to decimal with base 27
24 size_t value {0};
25 int decimal {0};
26 for(size_t i {0}; i<eng2dec.length(); ++i)
27 {
28 if(eng2dec[i]==' ')
29 {
30 decimal=0;
31 }else{
32 int power = (eng2dec.length()-1-i);
33 decimal = eng2dec[i]%96;
34 value+= decimal*pow(27,power);
35 }
36 if(value > pow(2,32)){
37 std::cout<<"\nThe input string represents a number that is greater than 2ˆ32" <<std::endl;exit(1);
38 }
39 }
40 print_value(value);
41 return 0 ;
42}
43
44// check if string is not alphabet or space
45bool isalpha_isspace(const std::string& str )
46{
47 bool answer ;
48 for(char c: str){
49 if(isalpha(c) || isspace(c))
50 {
51 answer = true;
52 }else
53 {
54 answer= false;
55 }
56 }
57 return answer ;
58}
59
60// print value
61void print_value(const size_t value){
62 std::cout<<value<<std::endl;
63}
64