Динамические

Динамические массивы

Массивы, которые содержат строго определенное количество элементов, называются массивами с фиксированной границей. Массивы, которые содержат переменное количество элементов (массивы, размеры которых могут изменяться в процессе выпол­нения программы или не известны в начале), называются динамическими.

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

Динамический массив создается в такой последовательности:

  1. с помощью ключевых слов, используемых при создании массива фиксированного размера, объявляется массив. Список размерности массива остается пустым, например: Dim Count () As Integer

  2. с помощью оператора ReDim указывается размерность массива в виде числа или выражения. Синтаксис оператора ReDim аналогичен синтаксису оператора объявления массива фиксированного размера. Например, размерность массива может быть за­дана любым из следующих способов:

ReDim Count (x)

ReDim Count (20)

ReDim Count (1 To 20)

При выполнении оператора ReDim данные, размещенные в массиве ранее, теряются. Это удобно в том случае, если данные больше не нужны и требуется переопределить размерность мас­сива и подготовить его для размещения новых данных. Если вы хотите изменить размер массива, не потеряв при этом данные, необходимо воспользоваться оператором ReDim с ключевым сло­вом Preserve. Например, приведенный ниже программный код увеличивает размер массива на единицу без потери хранящихся в массиве данных:

ReDim Preserve Count (х + 1)

Задачи, которые можно скачать с комментариями и исходниками

  1. Составить алгоритм, позволяющий включить элемент в заданную позицию массива. Массив заполнить целыми случайными числами в диапазоне от 0 до 100.

  2. Дан двухмерный массив размером nxn, заполнен­ный целыми числами. Все его элементы, кратные трем, записать в одномерный массив.

  3. Дан двухмерный массив целых чисел. Сформировать одномерный массив, каждый элемент которого равен сумме четных положительных элементов со­ответствующего столбца двухмерного массива.

@akaVeta