2016-04-13 11:08:28 +03:00
|
|
|
|
// Пример иллюстрирует всевозможные типы контейнеров,
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// по которым можно перемещаться с помощью оператора foreach
|
2015-05-14 22:35:07 +03:00
|
|
|
|
|
|
|
|
|
|
const n = 10;
|
|
|
|
|
|
|
|
|
|
|
|
var
|
|
|
|
|
|
a: array [1..n] of integer;
|
|
|
|
|
|
b: array of integer;
|
|
|
|
|
|
s: set of integer;
|
|
|
|
|
|
l: List<integer>;
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
|
for var i:=1 to n do
|
|
|
|
|
|
a[i] := Random(100);
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Цикл foreach по статическому массиву
|
2016-04-13 11:08:28 +03:00
|
|
|
|
foreach var x in a do
|
|
|
|
|
|
Print(x);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
writeln;
|
|
|
|
|
|
|
|
|
|
|
|
SetLength(b,n);
|
|
|
|
|
|
for var i:=0 to n-1 do
|
|
|
|
|
|
b[i] := Random(100);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Цикл foreach по динамическому массиву
|
2016-04-13 11:08:28 +03:00
|
|
|
|
foreach var x in b do
|
|
|
|
|
|
Print(x);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
writeln;
|
|
|
|
|
|
|
|
|
|
|
|
s := [2..5,10..14];
|
2016-04-13 11:08:28 +03:00
|
|
|
|
// Цикл foreach по множеству
|
|
|
|
|
|
foreach var x in s do
|
|
|
|
|
|
Print(x);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
writeln;
|
|
|
|
|
|
|
|
|
|
|
|
l := new List<integer>;
|
|
|
|
|
|
l.AddRange(b);
|
|
|
|
|
|
l.Reverse;
|
2016-04-13 11:08:28 +03:00
|
|
|
|
// Цикл foreach по списку
|
|
|
|
|
|
foreach var x in l do
|
|
|
|
|
|
Print(x);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
writeln;
|
|
|
|
|
|
|
|
|
|
|
|
end.
|