2015-12-28 14:25:15 +03:00
|
|
|
|
// Процедуры и методы работы с динамическим массивом
|
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
|
2015-12-28 14:25:15 +03:00
|
|
|
|
SetLength(a,10); // выделение памяти. А можно так: a := new integer[10];
|
2015-05-14 22:35:07 +03:00
|
|
|
|
|
2015-12-28 14:25:15 +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-12-28 14:25:15 +03:00
|
|
|
|
// Вывод всех элементов массива
|
2015-05-14 22:35:07 +03:00
|
|
|
|
Print(a);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Сортировка массива (знак & используется для того,
|
|
|
|
|
|
// чтобы воспользоваться ключевым словом array при обозначении
|
|
|
|
|
|
// класса Array)
|
2015-05-14 22:35:07 +03:00
|
|
|
|
&Array.Sort(a);
|
|
|
|
|
|
Print(a);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Обращение массива
|
2015-05-14 22:35:07 +03:00
|
|
|
|
&Array.Reverse(a);
|
|
|
|
|
|
Print(a);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Изменение размерамассиав с сохранением элементов. То же делает SetLength
|
2015-05-14 22:35:07 +03:00
|
|
|
|
&Array.Resize(a,a.Length+2);
|
|
|
|
|
|
Print(a);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Поиск вхождения элемента в массив
|
2015-05-14 22:35:07 +03:00
|
|
|
|
var i := &Array.IndexOf(a, 50);
|
|
|
|
|
|
Writeln(i);
|
|
|
|
|
|
end.
|