Как разместить цифры в памяти, используя указатели и операции над ними?

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2023

Задано натуральное число. Разместите в памяти последовательно все его цифры, используя указатели и операции над ними.

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin>>n;
    int *ptr;
    do{
     int d=n%10;
     *ptr=d;\\ в этой строке ошибка
     ptr++;
     n/=10;  
    }while(n);
    
   return 0;
}

Возникает ошибка Вызвано исключение: нарушение доступа для записи. ptr было nullptr. Подскажите, пожалуйста, как можно исправить?

Ответы

▲ 0

Из вопроса непонятно, что требуется - список или вектор/массив. Например, если массив, то можно

int n;
cin>>n;
int *ptr = new int[10]{0};
do {
   int d = n%10;
   *ptr++ = d;
} while (n/=10);