Форум программистов, компьютерный форум CyberForum.ru

Разбиение числа на цифры - C++

Восстановить пароль Регистрация
 
axicose
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 25
12.04.2014, 00:07     Разбиение числа на цифры #1
здравствуйте, подскажите есть ли функция, которая разбивает число на другие числа, которые его составляют?
к примеру число 294 разбивается на 2, 9 и 4
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2014, 00:07     Разбиение числа на цифры
Посмотрите здесь:

Разбиение вещественного числа на байты C++
C++ Разбиение числа на сумму квадратов(ошибка в коде).
В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число кратно 72. C++
Найти двузначные числа, у которых сумма удвоенного квадрата первой цифры и квадрата второй цифры равен самому числу C++
C++ Замена последней цифры на значение наименьшей цифры в записи числа N
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
12.04.2014, 00:25     Разбиение числа на цифры #2
axicose, получение последней цифры числа - это %10, отбросить последнюю цифру - /10
axicose
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 25
12.04.2014, 01:57  [ТС]     Разбиение числа на цифры #3
это понятно, только я спрашивал про функцию, а не как это делается.
будет у меня число там 1455321, отбрасывать каждый раз?
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
12.04.2014, 02:10     Разбиение числа на цифры #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
axicose, Насколько я знаю, стандартной функции нет!
Можно реализовать самому
Вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include<vector>
#include<iterator>
#include<algorithm>
 
std::vector<int> ToArray(size_t value)
{
    std::vector<int> ArrayNumber;
    while(value > 0)
    {
        ArrayNumber.push_back(value%10);
        value/=10;
    }
    std::reverse(std::begin(ArrayNumber),std::end(ArrayNumber));
    return ArrayNumber;
}
int main()
{
    std::vector <int> v = ToArray(123456789);
    std::copy(std::begin(v),std::end(v),std::ostream_iterator<int> (std::cout," "));
    return 0;
}
Yandex
Объявления
12.04.2014, 02:10     Разбиение числа на цифры
Ответ Создать тему
Опции темы

Текущее время: 16:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru