Создание динамического массива - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Хеллоу, помогите, пожалуйста, написать программу, создающую динамический массив размером, указанным пользователем, и заполняющую его числами от 1 до размера массива.

Решение задачи: «Создание динамического массива»

textual
Листинг программы
program test;
 
{$mode fpc}
 
var
  n: integer;
  i: integer;
  a: pinteger; // указатель целого типа
begin
  Write('Input n: ');
  ReadLn(n);
 
  // выделям область памяти достаточную для хранения n элементов типа integer
  GetMem(a, n * sizeof(integer)); 
 
  // заполняем массив цифрами от 1 до n(индексация в динамическом массиве начинается с 0)
  for i:= 0 to n-1 do
    a[i]:= i+1;
  
  // выводим массив на экран
  for i:= 0 to n-1 do
    WriteLn(a[i]); // можно записать и так WriteLn((a+i)^);
 
  // освобождаем память
  FreeMem(a);
 
  ReadLn;
end.

Объяснение кода листинга программы

  1. Программа запрашивает у пользователя ввод числа n.
  2. Затем программа выделяет память под массив целых чисел типа integer, размером n*sizeof(integer).
  3. И заполняет этот массив числами от 1 до n (индексация в динамическом массиве начинается с 0).
  4. После этого программа выводит на экран все элементы массива.
  5. В конце программа освобождает память, которую занимал массив.
  6. И ожидает ввода пользователя, чтобы закрыть программу.

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы