pascalabcnet/TestSuite/CompilationSamples/Dynarray.pas

40 lines
1.1 KiB
ObjectPascal
Raw Normal View History

// Процедуры и методы работы с динамическим массивом
2015-05-14 22:35:07 +03:00
uses System;
procedure Print(a: array of integer);
begin
foreach v: integer in a do
Write(v, ' ');
Writeln;
end;
var a: array of integer;
begin
SetLength(a,10); // выделение памяти. А можно так: a := new integer[10];
2015-05-14 22:35:07 +03:00
// Заполнение массива
2015-05-14 22:35:07 +03:00
for var i:=0 to a.Length-1 do
a[i] := PABCSystem.Random(100);
// Вывод всех элементов массива
2015-05-14 22:35:07 +03:00
Print(a);
// Сортировка массива (знак & используется для того,
// чтобы воспользоваться ключевым словом array при обозначении
// класса Array)
2015-05-14 22:35:07 +03:00
&Array.Sort(a);
Print(a);
// Обращение массива
2015-05-14 22:35:07 +03:00
&Array.Reverse(a);
Print(a);
// Изменение размерамассиав с сохранением элементов. То же делает SetLength
2015-05-14 22:35:07 +03:00
&Array.Resize(a,a.Length+2);
Print(a);
// Поиск вхождения элемента в массив
2015-05-14 22:35:07 +03:00
var i := &Array.IndexOf(a, 50);
Writeln(i);
end.