Как преобразовать статический массив в динамический? - Pascal

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

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

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,i1,k:byte;
begin
clrscr;
randomize;
repeat
write('Размер массива А от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Массив A');
for i:=1 to n do
 begin
  a[i]:=random(10);
  write(a[i]:4)
 end;
writeln;
i1:=0;
i:=n;
while(i>=1)and(i1=0)do
if a[i]=0 then i1:=i
else i:=i-1;
if i1=0  then writeln('В массиве нет нулевых элементов')
else
 begin
  if i1=n then n:=n-1
  else
   begin
    for i:=i1 to n-1 do
    a[i]:=a[i+1];
    n:=n-1
   end;
  writeln('Удаление последнего нулевого элемента');
  for i:=1 to n do
  write(a[i]:4);
  writeln
 end;
repeat
write('Введите индекс для вставки от 1 до ',n,' k=');
readln(k);
until k in [1..n];
n:=n+1;
if k=n-1 then a[n]:=100
else
 begin
  for i:=n downto k+2 do
  a[i]:=a[i-1];
  a[k+1]:=100;
 end;
writeln('Вставка числа 100 после элемента с индексом ',k);
for i:=1 to n do
write(a[i]:4);
readln
end.

Решение задачи: «Как преобразовать статический массив в динамический?»

textual
Листинг программы
var
  a: array of Integer;
begin
  ...
  SetLength(a,n);
  for i:=0 to n-1 do a[i]:=Random(10);

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

В данном коде используется статический массив a типа array of Integer.

  1. Сначала объявляется переменная a типа array of Integer.
  2. Затем выполняется некоторый код, который не виден в данном контексте.
  3. Далее вызывается функция SetLength(a,n), где a - это наш массив, а n - это количество элементов, которое мы хотим добавить в массив. Эта функция изменяет длину массива на значение n.
  4. После этого выполняется цикл for i:=0 to n-1, который заполняет элементы массива a значениями, полученными с помощью функции Random(10). Таким образом, данный код преобразует статический массив a в динамический, изменяя его длину с помощью функции SetLength и заполняя его элементами с помощью цикла for.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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