Как разместить цифры в памяти, используя указатели и операции над ними?
Задано натуральное число. Разместите в памяти последовательно все его цифры, используя указатели и операции над ними.
#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. Подскажите, пожалуйста, как можно исправить?
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
Из вопроса непонятно, что требуется - список или вектор/массив. Например, если массив, то можно
int n;
cin>>n;
int *ptr = new int[10]{0};
do {
int d = n%10;
*ptr++ = d;
} while (n/=10);