40 lines
874 B
ObjectPascal
40 lines
874 B
ObjectPascal
// Ïðîöåäóðû è ìåòîäû ðàáîòû ñ äèíàìè÷åñêèì ìàññèâîì
|
|
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];
|
|
|
|
// Çàïîëíåíèå ìàññèâà
|
|
for var i:=0 to a.Length-1 do
|
|
a[i] := PABCSystem.Random(100);
|
|
|
|
// Âûâîä âñåõ ýëåìåíòîâ ìàññèâà
|
|
Print(a);
|
|
|
|
// Ñîðòèðîâêà ìàññèâà (çíàê & èñïîëüçóåòñÿ äëÿ òîãî,
|
|
// ÷òîáû âîñïîëüçîâàòüñÿ êëþ÷åâûì ñëîâîì array ïðè îáîçíà÷åíèè
|
|
// êëàññà Array)
|
|
&Array.Sort(a);
|
|
Print(a);
|
|
|
|
// Îáðàùåíèå ìàññèâà
|
|
&Array.Reverse(a);
|
|
Print(a);
|
|
|
|
// Èçìåíåíèå ðàçìåðàìàññèàâ ñ ñîõðàíåíèåì ýëåìåíòîâ. Òî æå äåëàåò SetLength
|
|
&Array.Resize(a,a.Length+2);
|
|
Print(a);
|
|
|
|
// Ïîèñê âõîæäåíèÿ ýëåìåíòà â ìàññèâ
|
|
var i := &Array.IndexOf(a, 50);
|
|
Writeln(i);
|
|
end. |