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

Формирование массива, элементами которого являются цифры числа N - C++

Восстановить пароль Регистрация
 
tashk
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 7
12.12.2012, 15:18     Формирование массива, элементами которого являются цифры числа N #1
Дано натуральное число N. Составить программу для формирования массива,элементами которого являются цифры числа N.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 15:18     Формирование массива, элементами которого являются цифры числа N
Посмотрите здесь:

Сформировать массив, элементами которого являются числа 2,1,4,3,6,5,...,100,99 C++
Сформировать массив ИМ (100), элементами которого являются числа... C++
C++ Сформировать целочисленный массив A(75), элементами которого являются случайные числа из диапазона [-5, 20]
C++ Построить бинарное дерево, элементами которого являются числа
Составить программу формирования массива, элементами которого являются цифры числа N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2012, 15:22     Формирование массива, элементами которого являются цифры числа N #2
tashk, а какова массива? Можно ведь в std::string преобразовать? Потом получить Си-строку.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
12.12.2012, 15:33     Формирование массива, элементами которого являются цифры числа N #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
 
size_t param_length(int param)
{
    size_t count = 0;
    while (param > 0)
    {
        count++;
        param /= 10;
    }
    return count;
}
 
int* get_digits(int number, size_t& count)
{
    count = param_length(number);
    int *array = new int[count];
    int index = 0;
    while (number > 0)
        array[index++] = number % 10, number /= 10;
    return array;
}
 
int main()
{
    size_t count;
    int *ptr = get_digits(1234, count);
    for (int i = 0; i < count; i++)
        std::cout << ptr[i] << ' ';
    std::cout << std::endl;
    delete [] ptr;
}
Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <vector>
#include <string>
#include <cmath>
 
std::vector<short> get_digits(int number)
{
    std::string buf = std::to_string(std::abs((long long)number));
    std::vector<short> vec(buf.length());
    std::string::size_type len = buf.length();
    for (int i = 0; i < len; i++)
        vec[i] = buf[i] - '0';
    return vec;
}
 
int main()
{
    std::vector<short> vec = get_digits(1234);
    for (
        std::vector<short>::const_iterator it = vec.begin();
        it != vec.end();
        ++it)
        std::cout << *it << ' ';
    std::cout << std::endl;
}
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
12.12.2012, 16:01     Формирование массива, элементами которого являются цифры числа N #4
C++
1
2
3
4
5
while (number)
{
vector.push_back(n%10);
n/=10;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2012, 16:04     Формирование массива, элементами которого являются цифры числа N #5
Цитата Сообщение от Пaтрик Посмотреть сообщение
while (number > 0)
* * * * array[index++] = number % 10, number /= 10;
C++
1
2
3
4
5
do
{
    // something
}
while (n /= 10);
Yandex
Объявления
12.12.2012, 16:04     Формирование массива, элементами которого являются цифры числа N
Ответ Создать тему
Опции темы

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