0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
|
||||||
1 | ||||||
Разделение числа на цифры17.07.2013, 17:38. Просмотров 2862. Ответов 10
Метки нет Все метки)
(
Смущает часть моего алгоритма
Для разделения числа на цифры я сделал следующее: Вместо int для числа использовал string(так как можно выделять каждый элемент отдельно) Потом создал вектор типа int. И присвоил каждому элементу vector значение соответствующего элемента string. Но как показали эксперименты, что бы правильно перевести из string в vector<int> нужно отнять 48: c[index] = a[index] - 48; Меня это сильно смущает. Этот алгоритм меньше других, но вот отнятие 48. Будет ли этот алгоритм действовать в других компиляторах и операционных системах?
0
|
|
17.07.2013, 17:38 | |
Разделение числа на цифры Разделение числа на отдельные цифры Как реализовать разделение числа на цифры через цикл?
|
|
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
|
|
17.07.2013, 17:51 | 3 |
Я так понял Вам надо из числа получить каждый разряд?? т.е. 159 = 1 5 9 ?если так то почему бы не сделать так
a/100 (a/10)%10
0
|
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
|
|
17.07.2013, 17:52 [ТС] | 4 |
Попробовал, не вышло. Дело в том, что когда я string заношу в вектор int, 1 превращается в 49, 2 в 50, 3 в 51, и т.д.
0
|
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
|
|
17.07.2013, 17:56 [ТС] | 6 |
Я об этом уже думал. Но как быть если число намного больше. При увеличении числа, например 1000, или 1000000, нужно отдельно алгоритм писать
Добавлено через 1 минуту Может я что то не так сделал? Я заменил 48 на 0, и ничего Или ноль нужно написать не в виде числа, а так: '0'?
0
|
:)
![]() 4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
17.07.2013, 18:02 | 7 | |||||
так. с одинарными кавычками.
В принципе, строки не нужны в Вашем случае. Можно хотя бы так попробовать:
0
|
Belfegor
|
|||||
17.07.2013, 18:05
#8
|
|||||
Не по теме:
0
|
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
|
|
17.07.2013, 18:16 [ТС] | 9 |
Я не очень много знаю, так что часть этой программы я не понял. Но смысл как я понимаю такой: определение размера числа, а потом по величине числа поделить сколько то раз на 10?
Добавлено через 3 минуты Добавлено через 36 секунд Но опять же. Спасибо вам всем. Но меня интересует следующее: Нормально ли я сделал с отнятием 48 или '0', или это полный бред и лучше не кому это больше не показывать, что бы не засмеяли?
0
|
Модератор
![]() 8321 / 6174 / 828
Регистрация: 14.02.2011
Сообщений: 21,452
|
||||||
17.07.2013, 18:35 | 11 | |||||
нормально
вот коды цифр в ASCII(символ шестнадцатеричное десятичное) '0' 0x30 48 '1' 0x31 49 '2' 0x32 50 '3' 0x33 51 '4' 0x34 52 '5' 0x35 53 '6' 0x36 54 '7' 0x37 55 '8' 0x38 56 '9' 0x39 57 вот ссылка на статью про все символы http://ru.wikipedia.org/wiki/ASCII Добавлено через 1 минуту а еще можешь сделать так ![]()
0
|
17.07.2013, 18:35 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Сложить цифры числа (до тех пор, пока не получится сумма из одной цифры)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |