Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 1
Регистрация: 15.02.2016
Сообщений: 11

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

13.04.2016, 09:45. Показов 2796. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2016, 09:45
Ответы с готовыми решениями:

Статический в динамический массив
Помогите переписать программу(чтобы использовался динамический массив) Var A:array of integer; X:array of byte; i,j,n:byte; ...

Дан массив с 50 именами, используя сортировку, преобразовать его в динамический массив и использовать бинарный поиск
Помогите пожалуйста! Дан массив с 50 именами, используя сортировку, преобразовать его в динамический массив и использовать бинарный поиск...

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

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
13.04.2016, 09:55
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
program dinarray;
 
uses crt;
const nmax=100;
var a:array of integer;
    n,i,i1,k:byte;
begin
clrscr;
randomize;
repeat
write('Размер массива А от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
setlength(a,n+1);
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;
setlength(a,0);
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
13.04.2016, 11:59
Pascal
1
2
3
4
5
6
7
8
9
10
11
type
  PIntArr = ^TIntArr;
  TIntArr = array [1..nmax] of Integer;
var
  a: PInteger;
begin
  ...
  GetMem(a,SizeOf(a[Low(a)])*n);
  for i:=1 to n do a^[i]:=Random(10);
  ...
  FreeMem(a,SizeOf(a[Low(a)])*n); { не в TP второй параметр м.б. не нужен }
Если тот факт, что в FPC динамический массив является указателем, считается допустимым по условию:
Pascal
1
2
3
4
5
6
var
  a: array of Integer;
begin
  ...
  SetLength(a,n);
  for i:=0 to n-1 do a[i]:=Random(10);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2016, 11:59
Помогаю со студенческими работами здесь

Заменить статический массив на динамический
program massiv; type mass=array of real; var m: mass; var i,x: integer; var min: real; begin randomize; writeln('Исходный...

Как создать динамический массив?
Ребят, как создать примерно такой динамический массив var N :integer; mas : array og integer begin end. при компиляции...

Как удалить динамический массив?
Как удалить динамический массив? В Pascal ABC Net нету функции FreeMem...

Как создать динамический двухмерный массив?
Количество элементов в массиве не известно и оно может изменяться.

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru