| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Ф-ция преобразующая с 10 в другие сист. счисления |
| Автор: feanor777 14.5.2014, 16:41 | ||
| Здравствуйте! Передо мной стоит такая вот задача: Написать функцию, которая получает в качестве аргументов целое положительное число и систему счисления, в которую это число должно переводится (системы счисления от 2 до 36). Например, при переводе числа 27 в систему счисления 16 должно получиться 1B; 13 в 5-ю - 23; 35 в 18-ю - 1H. Я её вроде бы реализовал, но такое чувство, что через ж*... Вот код:
Подскажите пожалуйста, как его можно оптимизировать? Особенно интересует тот момент, что так как я не знаю какое число будет вводить пользователь, мне приходится создавать массив из 32 элементов! А если пользователь вводит маленькое число у меня выходит кучу нулей. Как от этого избавиться? Модератор: не забываем пользоваться кнопочкой "Код" |
| Автор: baldina 14.5.2014, 18:30 | ||
| - используй std::string - используй остаток от деления на основание системы - добавляй цифры в конец, а выводи перевернутую строку
Добавлено через 37 секунд http://ideone.com/INRu27 |
| Автор: feanor777 15.5.2014, 21:58 | ||
Спасибо большое я более менее разобрался! Но проблема в том, что я еще не учил строки ( Знаю только массивы =( |
| Автор: feodorv 16.5.2014, 09:42 | ||||||
Ну, здесь два варианта:
Тогда и со знаком возиться не нужно... Добавлено через 3 минуты и 18 секунд Имелось в иду:
|
| Автор: feanor777 18.5.2014, 22:36 | ||
| Спасибо! Можно было ссылочку дать
Я день разбирался в этом ;) |
| Автор: feodorv 18.5.2014, 23:59 |
Зато это победа!!! |