Заполнить массив из 12 элементов случайными числами в интервале [-12..12] и выполнить ?

Заполнить массив из 12 элементов случайными числами в интервале [-12..12] и выполнить ??еверс для каждой трети массива. Пример: Исходный массив: 4 -5 3 10 -4 -6 8 -10 1 0 5 7 Результат: 10 3 -5 4 -10 8 -6 -4 7 5 0 1 Есть готовая программа. Объясните пожалуйста что да как. const n=12; var a:array[1..n] of integer; i,k,x:integer; begin randomize; writeln('Исходный массив'); for i:=1 to n do begin a[i]:=-12+random(25); write(a[i]:4); end; writeln; k:=n div 3; for i:=1 to k div 2 do begin x:=a[i]; a[i]:=a[k-i+1]; a[k-i+1]:=x; x:=a[k+i]; a[k+i]:=a[2*k-i+1]; a[2*k-i+1]:=x; x:=a[2*k+i]; a[2*k+i]:=a[n-i+1]; a[n-i+1]:=x end; writeln('Инверсия третей массива'); for i:=1 to n do write(a[i]:4); end.
Гость
Ответ(ы) на вопрос:
Гость
// 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы