pascalabcnet/TestSuite/CompilationSamples/Dynarray.pas
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

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.