Другие языки программирования и технологии

Как определить размер массива в процессе ввода? C++

Добрый день. Подскажите, как определить размер массива в процессе ввода. Например, пользователь ввел 5 цифр, значит должен создаться массив из 5 элементов. Возможно ли это? Спасибо.
Использовать векторы (параметризуемый тип vector). Для двумерного массива - векторы векторов. Вектор - это массив, размер которого при внесении в него новых элементов автоматически приспосабливается. И еще множество полезных свойств.
Если пользоваться только средствами С, то можно использовать динамический массив с использованием функции realloc при каждом вводе элемента, но тип vector C++ гораздо удобнее.
Ну и, наконец, как делают начинающие, можно использовать обычные статические массивы, размер которых задан с запасом. Например, объявить сразу массив с размером в тысячу элементов, и пусть себе из них используются лишь пять, что нам, памяти жалко?
Андрей Гуреев
Андрей Гуреев
74 966
Лучший ответ
for(i=0;m[i]!=0;++i);

i-1 будет равно длине массива....
ИА
Илез Арчаков
10 484
Создавать массивы динамически через указатели

вот отрывок примера когда создается массив размера m x n

int m,n;
cout << "Введите размерность массива m, n" <<endl;
cin >> m >> n;

double** ar = new double* [m];
for (int i = 0; i<m; i++)
ar[i] = new double [n];
cout << "Создаем массив с размерностью m на n" <<endl;

в твоем случае будет
cin >> m;
double* ar = new double* [m];
и далее по условию заполняешь массив
cin >> ar[i]

обрати внимание у тебя одномерный массив, поэтому указывается только один указатель, а в отрывке выше 2-мерный массив, поэтом сразу за типом 2 указателя
double** ar = new double* [m];
поставленная задача в корне не правильная! Если ты хочешь получить данные от пользователя, умные люди придумали - переменные. В твоём случае, я так понимаю, вводятся символы, для них есть - символьные/строковые переменные, и "туева хуча" процедур и функций для работы с ними. Среди которых есть и функции которые возвращают размер введённых данных.
Антон Иутин
Антон Иутин
1 663
Сергей Перетрухин Автор вопроса имел ввиду как сделать динамический массив, когда размер массива на этапе компиляции программы неизвестен.
Задачи подобного рода дают в учебных заведениях, для того, чтобы студенты научились работать с указателями и динамическими массивами.