// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
begin
var a:=ArrRandom(12,-12,12); a.Println;
var b:=a.Batch(a.Length div 3).Select(x->x.Reverse);
var k:=0;
foreach var e1 in b do
foreach var e2 in e1 do begin a[k]:=e2; Inc(k) end;
a.Println
end.
Тестовое решение:
-7 -9 8 -11 -5 -3 -2 6 11 -7 4 -6
-11 8 -9 -7 6 -2 -3 -5 -6 4 -7 11