Размещено 4 года назад по предмету
Информатика
от ANNTII
Заполнить массив из 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.