void all_to_all(char* point,int in_osn,int out_osn)
{
char buff[256];
cout<<itoa(strtol(point,NULL,in_osn),buff,out_osn);
}
int main()
{
char buff[256];
int osn1,osn2;
cin>>buff;
cin>>osn1;
cin>>osn2;
all_to_all(buff,osn1,osn2);
}
Системы счисления (Borland C++ 3.1 for DOS)
Задача простая, перевод целых чисел в различные системы счисления с основаниями 2, 8, 10, 16. Ввод числа произвольной длинны осуществляется с клавиатуры. Посмотрите код и подскажите, пожалуйста, можно ли его оптимизировать, сделать решение более красивым.
icq: 588002847
email: [email]flash_1989@ukr.net[/email]
Да и вообще вместо всех твоих функций перевода можно былобы записать 1, в которую еще передаются параметры входново и выходных оснований например так:
я бы еще вместо buf[0]-0x30 и buf[1]-48 (кстати почему то 0x30, то 48?) написал buf[...] - '0'
В принципе да, предполагалось написание программы без использования функции itoa, strtol и т.д.
0х30 и 48 использовал, так как преподаватель просил значения ASCII-таблицы.
скомпилена и с сорсами правда на билдере 6-м с гуи, но сам алгоритм будет понятен.
без itoa и strtol делал в универе: