Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2014, 23:33   #1
aksjksalkalsalss
Заблокирован
 
Регистрация: 09.12.2014
Сообщений: 1
По умолчанию C++ - Создать массив цифр из int числа

Здравствуйте! Помогите, plz, решить задачу.
P.S.я работаю под linux 64 bit, Qt Creator IDE.

Задача: "
0. Согласно переменной типа int составить массив из цифр этого числа, расположив элементы-цифры в таком же порядке.
1. Вывести построчно цифры числа (элементы массива). Т.е. на любой строке - одна цифра.
"

Мои исходники:
main.cpp
Код:
//Преобразование положительной переменной типа int в одномерный массив цифр (int).
#include <iostream>
#include <functions.h>
//
using namespace std;
//
int main() {
    cout << "Enter unsigned integer number: ";
    unsigned int number = 0;
    cin >> number;
    //
    cout << "In entered number are " << digits_count(number) << " digits."<< endl;
    //now I try to create a dinamic one-dimensional array composed of digits of targed number
    int *array_of_digits = new int [digits_count(number)];
    digits_of_numbers_into_array(number, *array_of_digits[digits_count(number)]);
    //
    cout << "Digits of number output: " << array_of_digits_output(*array_of_digits[digits_count(number)]) << endl;
    //
    return 0;
}
functions.h
Код:
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
//
int digits_count(int number) {
    int count = 1;
    while (number >= 1) {
        number = number / (10 * count);
        count++;
    };
    return count;
}
//
void number_digits_into_array(int number, int &array_of_digits) {
    int i = 0;
    while (i <= digits_count(number)) {
         array_of_digits[i] = (number / 10 * (digits_count(number) - (1+i)) ) % 10;
    };
}
//
void array_of_digits_output(*array_of_digits[digits_count(number)]) {
    int i = 0;
    while (i <= digits_count(number)) {
        cout << *array_of_digits[i] << endl;
    };
}
//
#endif // FUNCTIONS_H
aksjksalkalsalss вне форума Ответить с цитированием
Старый 10.12.2014, 09:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Вопрос где? От нас вы чего хотите? Что не работает? Что не так работает? Почему вы считаете, что оно не работает?
p51x вне форума Ответить с цитированием
Старый 10.12.2014, 13:01   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Код:
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>

int main() {
	auto str = std::to_string(12345); 

	std::vector<uint32_t> v;
	std::transform(str.begin(), str.end(), std::back_inserter(v), std::bind2nd(std::minus<uint32_t>(), '0'));

	std::copy(v.begin(), v.end(), std::ostream_iterator<uint32_t>(std::cout, ""));
}
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан двумерный массив размерности mxn. необходимо найти все трёхзначные числа и заменить их на произведение его цифр.(VBA) oquank Помощь студентам 2 29.05.2014 14:18
Говорят, что число "Счастливое" если сумма цифр левой половины числа равна сумме цифр правой половины числа. если число имеет нече Xumera Паскаль, Turbo Pascal, PascalABC.NET 1 18.11.2013 21:45
Создать массив, элементы которого равны количеству цифр чисел, расположенных по кромке матрицы (Delphi) CrOsP Помощь студентам 22 12.11.2012 22:46
Создать двоичный файл, записать n целых чисел. Из файла создать массив, элементы числа-палиндромы (на C) Simak63 Помощь студентам 0 30.03.2011 21:06
С++ Создать класс содержащий 3х-мерный массив int'ов, заполнять с помощью генератора случайных чисел vipER Помощь студентам 1 22.09.2007 22:08