| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > как разделить цифры? |
| Автор: toader 26.6.2009, 14:22 |
| как разделить цифры? вот к примеру если вёл 101101 то чтобы он их записал не как одно а как 6 разных? |
| Автор: Andrew121 26.6.2009, 14:41 |
| toader, Читаешь по одной, и разделяешь чем вздумается. |
| Автор: ИванМ 26.6.2009, 16:37 |
| Если вводится строка char* то просто через оператор[] и функцию atoi. Если вводится число, то легче всего сначала преобразовть в строку, а потом как в первом случае. |
| Автор: jonie 26.6.2009, 18:01 | ||||
|
| Автор: zim22 26.6.2009, 18:19 |
определите для начала количество цифр в числе по формуле: log(number) / log(10) + 1 далее для вычленения каждой цифры используйте операции / и % |
| Автор: toader 29.6.2009, 10:23 |
| ухмм.. вот примеру как сделать эту операцию если я вёл 12345 чтобы он дал результат на 1+2+3+4+5? |
| Автор: toader 29.6.2009, 11:01 |
вот я нашол такое.. 5! = 5 * 4 * 3 * 2 * 1 = 120 но мне нужно вот так 12345! = 1 * 2 * 3 * 4 * 5 = 120 |
| Автор: Gordon 29.6.2009, 11:12 | ||
Только вместо вывода на экран, нужно перемножить... Вроде то что тебе нужно... p.s. Только 12345! никак не 120! )))) |
| Автор: toader 29.6.2009, 11:16 | ||||||
1*2=2 2*3=6 6*4=24 24*5=120 Добавлено через 7 минут и 55 секунд вот я чучуть изменил, но не получается настроить как мне надо как сделать чтобы он показал лиши операцию и результат?
|
| Автор: toader 29.6.2009, 11:35 | ||
аха вот понял.. только он повторяет это 5 рас как убрать?
|
| Автор: Gordon 29.6.2009, 11:56 | ||||
Вместо
напиши
p.s. 1*2*3*4*5 = 120, но 12345! не равно 120, 120 - это 5!... |
| Автор: toader 29.6.2009, 12:24 | ||||
ка как сделать это чтобы работало не только для 5 цифр а и для меньше или больше?
|
| Автор: Gordon 29.6.2009, 12:57 | ||
|
| Автор: toader 29.6.2009, 13:04 | ||||||
щтота не то((
|
| Автор: Gordon 29.6.2009, 13:24 | ||
| У меня все правильно работает, может ты что напутал в коде... Вот полный вариант:
|
| Автор: toader 29.6.2009, 13:33 |
| о да всё работает.. большое спасибо))) сейчас попробую из него сделать свою задачу) Добавлено @ 13:39 чёт я запутался(( мне надо вот так сделать If result[1] > 0 then result[1]=2 If result[2] > 0 then result[2]=3 If result[3] > 0 then result[3]=4 .... |
| Автор: Gordon 29.6.2009, 13:55 | ||
| Честно говоря, я немного не понял что теле нужно... Лучше напиши словами что требуется. If result[1] > 0 then result[1]=2 If result[2] > 0 then result[2]=3 If result[3] > 0 then result[3]=4
Только если ты хочешь с первого элемента начать, то надо писать "result[0]" |
| Автор: toader 29.6.2009, 14:06 | ||
извини я сам не-знаю)) я по кусочку спрашиваю чтобы понять что как работает ^^ я это калькулятор бинари должен сделать) вот теперь получилось 8 цыфар как по маслу а теперь сказали что надо for использовать чтобы можно было больше цифр( |
| Автор: Gordon 29.6.2009, 14:13 |
Т.е.? Первый элемент в массиве (в языке С) всегда имеет индекс "0", или тебе нежно первому элементу всегда задавать значение "1"? |
| Автор: toader 29.6.2009, 14:14 |
| ну я исправил... просто у меня привычка всегда начинать с 1 ^^ но уже исправил чтобы правелино было) |