Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Работа с динамическими массивами



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

Первый вариант -использование констант для задания размерностимассива.

Program First;

Const

N: integer = 10;

{ либо N = 10; }

Var

A: array [ 1..N ] of real;

I: integer;

Begin

For i:= 1 to N do

Begin

Writeln (' Введите ', i, ' -ый элемент массива ');

Readln (A [ i ])

End;

{ И далее все циклы работы с массивом используют N}

Такой способ требует перекомпиляции программы при каждом изменении числа обрабатываемых элементов.

Второй вариант - программист планирует некоторое условно максимальное (теоретическое) количество элементов, которое и используется при объявлении массива. При выполнении программа запрашивает у пользователя фактическое количество элементов массива, которое должно быть не более теоретического. На это значение и настраиваются все циклы работы с массивом.

Program Second;

Var

A: array [ 1..25 ] of real;

I, NF: integer;

Begin

Writeln ( 'Введите фактическое число элементов’,

‘ массива <= 25 ');

Readln (NF);

For i:= 1 to NF do

Begin

Writeln ( 'Введите ', i, ' -ый элемент массива ');

Readln (A [ i ])

End;

{ И далее все циклы работы с массивом используют NF}

Этот вариант более гибок и технологичен по сравнению с предыдущим, так как не требуется постоянная перекомпиляция программы, но очень нерационально расходуется память, ведь ее объем для массива всегда выделяется по указанному максимуму. Используется же только часть ее

Вариант третий - в нужный момент времени надо выделить динамическую память в требуемом объеме, а после того, как она станет не нужна, освободить ее.





Дата публикования: 2014-11-04; Прочитано: 299 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...