Работа с массивом заранее неизвестного размера

Довольно часто размер массива, который планируется использовать в программе, неизвестен. Например, требуется ввести размер массива с клавиатуры, заполнить его случайными числами и вывести на экран. Очевидное решение

cout << "Введите размер массива:\n";

cin >> size;

int numbers[size];

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

//Массив может хранить не более 100 элементов

int numbers[100];

//Вводим размер массива с клавиатуры

int size;

cout << "Введите размер массива < 100:\n";

cin >> size;

//Заполняем массив случайными числами

for (int i=0; i<size; i++) {

numbers[i] = rand()%100;

}

//Выводим массив на экран

for (int i=0; i<size; i++) {

cout << numbers[i] << " ";

}

Обратите внимание на то, что память выделена под 100 элементов, но фактически работа производится элементами, количество которых определено переменной size.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: