| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Поменять цифры в числе местами |
| Автор: pikiviki 17.3.2014, 01:50 | ||||
| Как переставить цифры в числе местами. Допустим есть число 543 мне нужно получить 345 или 23 мне нужно получить 32. Я делю все так Для двухзначного смена местами
Для трехзначного выглядит так
Собственно почему я к вам обращаюсь. Если у меня стандартный поток ввода до 10 в 9 степени. Не возможно же писать такую перестановку для 10, 100, 1000, 10 000, 100 000 и т д. Получится мне таких перестановок нужно будет написать 9 штук кто ж меня то умным на завоет. Может кто подскажет универсальную (для сотых тысячных десяти тысячных и.т.д) перестановку такого рода. Может что-то похожее на reverse в STL. |
| Автор: Guinness 17.3.2014, 07:25 |
| А не проще создать массив из чисел каждого разряда? Т.е. есть у Вас число 123456, Вы его преобразете в массив {1,2,3,4,5,6}. А дальше уже что хотите, то и делаете. |
| Автор: _zorn_ 17.3.2014, 08:41 |
| На мой взгляд самый простой и универсальный способ - преобразование в строку, перетасовывание и преобразование обратно в число. |
| Автор: volatile 17.3.2014, 09:04 | ||
|