Другие языки программирования и технологии

Представьте число 41 в восьмеричной системесчисления. Укажите оъём алфавита.

+ кол-во информации, которая может быть передана с помощью этого алфавита
Программа преобразования систем счисления
#include <string>
#include <iostream>

using namespace std;

char ntoa(int n) // преобразование номера цифры в символ
{
if ((n >= 0) && (n <= 9))
return '0' + n;
else
return 'A' - 10 + n;

}

int aton(char a) // преобразование символа в номер цифры
{
if ((a >= '0') && (a <= '9'))
return a - '0';
else if ((a >= 'a') && (a <= 'z'))
return a - 'a' + 10;
else
return a - 'A' + 10;
}

// Преобразование из одной системы счисления в другую
// s - число в системе счисления по основанию fs
// функция возвращает число в системе счисления fd
string conv(string s, int fs, int fd)
{
int A = 0;
for (unsigned int i = 0; i < s.length(); i++)
{
char a;
a = aton(s);
if ((a >= 0) && (a <= fs))
A = A * fs + a;
else
return "number has uncorrect format";
// число в неверном формате
}
string sd = "";
while (A != 0)
{
sd = ntoa(A % fd) + sd;
A /= fd;
}
return sd;
}
int main(int argc, char* argv[])
{
while (true)
{
string s;
int fs, fd;
cout << "Enter number, base and convert base: ";
// Введите число, основание и основание конвертирования
cin >> s >> fs >> fd;
cout << conv(s, fs, fd) << endl;
}

return 0;
}
Born To Be
Born To Be
4 837
Лучший ответ
48d=101oct
NK
Nurtas Kuatov
3 241