С++ Напишите программу, которая выводит ** экран все цифры числа, начиная с первой....

0 голосов
128 просмотров

С++

Напишите программу, которая выводит на экран все цифры числа, начиная с первой.

Допустим, вводишь 123, а программа выводит 1 2 3.


Информатика (109 баллов) | 128 просмотров
0

Что сложного?)

0

ну вот так) помогите..

Дано ответов: 2
0 голосов
Правильный ответ

Один из простых методов.
#include
void digits(const unsigned &val)
{
    if (val) {
        std::cout << (digits(val / 10), val % 10) << "  "; <br>    }
}
int main()
{
    digits(123);
    return 0;
}

(4.2k баллов)
0

Если можно проще и с комментариями (для чайников). А так спасибо.

0

Тут обычная рекурсивная функция. Если не знаете что это, то лучше в интернете почитать или видео посмотреть)

0

Дело в том, что она выдает именно 123. А это был лишь пример, ибо при вроде 1488 должно выводиться 1 4 8 8.

0

#include

using namespace std;

void digits(const unsigned &val)
{
if (val) {
cout << (digits(val / 10), val % 10) << " "; <br> }
}

int main()
{
int num;
cin >> num;
digits(num);
return 0;
}

0

Вы хоть немного знаете c++?

0

спасибо за дополнение, а автору желаю хотя бы обучающие ролики на ютубе посмотреть коих много и уже молчу о чтении какой-то книги.

0 голосов

#include
#include

using namespace std;

void digits(int *num);

int main()
{
    int num;
    cin >> num;
    void(*ptr)(int *num);
    ptr = digits;
    (*ptr)(&num);
    return 0;
}
void digits(int *num)
{
    stack stack;
    while(*num>0)
    {
        stack.push(*num % 10);
        *num /= 10;
    }
    while(!stack.empty())
    {
        cout << stack.top() << " ";<br>        stack.pop();
    }
}

(3.7k баллов)
0

Ребят, можно проще? Пожалуйстаа.... А так огромное спасибо.

0

Ахах я специально усложнил)

0

Зато познавательно)

0

Ну мне от усложнений не лучше. Если можете, то, пожалуйста, понятнее.