Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/55: Рейтинг темы: голосов - 55, средняя оценка - 4.76
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
1

Разделить целое число на цифры и поместить в массив

27.10.2016, 01:32. Показов 11328. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Случайное число от 0 до MAX_int, например 2415673, нужно разделить на цифры и поместить в массив по отдельности. Количество цифр в числе заранее не известно. Порядок цифр должен сохранится.
Чем проще тем лучше.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2016, 01:32
Ответы с готовыми решениями:

Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321)....

Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой цифры
Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой...

Как разделить целое число Int64 на целое 1024 и получить double с 2 знаками после запятой
Int64 chislo=1234567890; double chislo2=chislo/1024;...

Ввести целое число N. Выделить из этого числа цифры, кратные 3, и записать их в одномерный массив
Ввести целое число N. Выделить из этого числа цифры, кратные 3, и записать их в одномерный массив.

24
Вездепух
Эксперт CЭксперт С++
11695 / 6374 / 1724
Регистрация: 18.10.2014
Сообщений: 16,068
27.10.2016, 01:43 2
Цитата Сообщение от Pavel Rem Посмотреть сообщение
Порядок цифр должен сохранится.
А какой порядок цифр считается правильным в массиве? Сначала младшие разряды или сначала старшие разряды?
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 01:50  [ТС] 3
Для числа 2415673 массив должен выглядеть так - 2,4,1,5,6,7,3. Где цифра "2" нулевой элемент.
И кстати нельзя использовать строки.
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 01:59 4
Pavel Rem, используйте операцию остаток от деления, полное решение писать не стоит так как вам самим нужно учится но суть такова
2415673 /1000000=2 - пишем в массив
2415673 %1000000=415673
415673 /100000=4 - пишем в массив
415673 %100000=15673
и так далее, делаете цикл, все просто)
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:06  [ТС] 5
Цитата Сообщение от starkiron Посмотреть сообщение
используйте операцию остаток от деления
Было б все так просто, я не просил бы подсказку(
Не решает проблему (Количество цифр в числе заранее не известно)
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:14 6
Pavel Rem, ну нужно найти максимальный делитель сначала)

Добавлено через 1 минуту
Pavel Rem, или же наоборот делить на 10 все время но тогда массив придется переворачивать

Добавлено через 55 секунд
Цитата Сообщение от Pavel Rem Посмотреть сообщение
Было б все так просто, я не просил бы подсказку(
и кстати да всё очень просто...
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:15  [ТС] 7
Я знаю что это просто, но это не подходит для моего т.з. поэтому ищу другие варианты
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:17 8
Pavel Rem, это подходит под ваше "ТЗ" 100%
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:18  [ТС] 9
Ухты!!! живой экстрасенс!)
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:23 10
Цитата Сообщение от Pavel Rem Посмотреть сообщение
Случайное число от 0 до MAX_int, например 2415673, нужно разделить на цифры и поместить в массив по отдельности. Количество цифр в числе заранее не известно. Порядок цифр должен сохранится.
Чем проще тем лучше.
Это не задание? +незльзя использовать строки, тогда я открою вам секрет то что я написал выше единственный вариант) и скажем что бы оценить ваши знания не надо быть экстрасенсом вы их только что все озвучили)

Добавлено через 1 минуту
Pavel Rem,
Цитата Сообщение от Pavel Rem Посмотреть сообщение
Количество цифр в числе заранее не известно
))) его и не надо знать)
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:23  [ТС] 11
Это не задание, а локальная маленькая проблемка. Если б я тут выложил задачу, Я ее в итоге не решил бы...
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:25 12
Pavel Rem,

C++
1
2
3
4
5
6
7
8
int a,b;
   scanf("%s", &a);
   while(a>0)
   {
       b=a%10;
       printf("%d ",b);
       a/=10;
   }
о бог мой... число делится на цифры... как же так?) магия? b пишите в массив на каждом шаге) потом выведите наоборот массив)

Добавлено через 1 минуту
Pavel Rem, вы дали четкое описание проблеммы, и указали все моменты, сейчас судя по вашим словам не только строки нельзя использовать но и цифры тоже?)
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:27  [ТС] 13
Задолбал!
Миниатюры
Разделить целое число на цифры и поместить в массив  
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:29 14
Pavel Rem, ну если вы даже задание понять не можете то увы, а как сделать я верно сказал, другое дело что вам нужно я думаю готовое решение и вы не в силах даже по примеру сделать сами, это уже другой разговор)
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:32  [ТС] 15
Уйди пожалуйста с темы, ато я щас буду матерится!
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:34 16
Pavel Rem, уважаемый успокойтесь, вы можете решить задачу, на худой конец не подсказку а решение попросили бы, лучше покажите что вы пытаетесь сделать, если есть что то то я вам помогу, безвозмедно) а нервничать не надо, вредно это)
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:34  [ТС] 17
Уйди пожалуйста с темы, ато я щас буду матерится! И кстати задачу я уже решил, пытаюсь сделать лучше, а ты мне тут мозги париш попусту.
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:36 18
Pavel Rem, ну так ты покажи решение, ты же сказал что я не верно подсказываю, поправь меня пожалуйста, или просто нечего поправлять? если ты человеку пишешь что то ты пожалуйста доказывай свою правоту, я думаю это приветствуется) а когда тебе хотят помочь такую ерунду нести увы...
1
11 / 11 / 2
Регистрация: 15.07.2016
Сообщений: 132
27.10.2016, 02:39  [ТС] 19
Не лень разберется? И я вкурсе что код карявый и тупой, потому и продолжаю работать над ним.
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <ctime>
using namespace std;
 
#define size 10
void func(int *parent, int sizee) {
    int counter = 0, i, j, h, c, d;
        for (i = 0;i < sizee;i++) {
            for (j = parent[i];j;counter++) {
                j /= 10;
            }
        }
        int *temp = new int[counter];
        for (i = 0,h=0;i < sizee;i++) {
            for (d = 0,j = parent[i];j;d++) {
                j /= 10;
            }
            for (c=10,j=parent[i];d;h++,d--) {
                temp[h] = j/pow(c, d-1);
                j -= temp[h] * pow(c, d - 1);
                cout << temp[h] << " ";
            }
        }
        cout << endl;
        int *result = new int[counter/3];
        for (i=0,j=0;i<counter;i+=3,j++) {
                result[j] = (temp[i] * 100) + (temp[i + 1] * 10) + (temp[i + 2]);
                cout << result[j] << " ";
        }
        cout << endl;
        delete[]temp;
        delete[]result;
}
 
int main(void) {
    int parent[size] = { 10,456,12,2345,1234,222,23,456,567,3456 },
        randmin = 10,
        randmax = 10000,
    srand(time(NULL));
    for (int i = 0; i < size; i++) {
        /*parent[i] = rand() % (randmax - randmin + 1) + randmin;*/
        cout << parent[i] << " ";
        }
    cout << endl;
    func(parent, size);
    system("pause");
}
1
64 / 64 / 16
Регистрация: 07.05.2016
Сообщений: 304
27.10.2016, 02:50 20
Pavel Rem, не не лень, бессонница сейчас сделаю вариант решения)

Добавлено через 2 минуты
Pavel Rem, хотя в целом у тебя все верно, конечно нужно участвовать тебе в чемпионате по непонятному программированию, но если приглядется то суть таже)
1
27.10.2016, 02:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2016, 02:50
Помогаю со студенческими работами здесь

Составить программу, в которой вводится любое целое число а процедура возвращает массив, содержащий цифры этого числа
Составить программу, в которой вводится любое целое число а процедура возвращает массив, содержащий...

Создать программу, которая запрашивает у пользователя целое число, и если это число непарное, то разделить его на 2
I) Создать программу, которая запрашивает у пользователя целое число, и если это число непарное,...

Разделить дробное число на целое и остаток
Есть дробное число, например 14.4054 Нужно убрать в отдельную переменную целую часть. Типа того:...

Каждое целое число в тексте разделить на 100
Составить макроопределение которой каждое целое число в тексте делит на 100 Добавлено через 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru