дан вектор В вещественных чисел.Получить новый вектор,записав сначала элементы,расположенные после максимального элемента, а затем компоненты, расположенные до максимального элемента.

uses crt;
const nn=20;
Type TVector=Array[1..nn] of Real;
Var a,b,c:TVector;
e,w,i,k,n,m:Byte;
max:Real;
begin
ClrScr;
repeat
write('vveditekolichvo elementov (ne bolee 20) n=');
readln(n);
until n<=20;
writeln('vvedite elementi massiva');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
max:=a[1];
m:=1;
for i:=2 to n do
if a[i]>max
then
begin
m:=i;
max:=a[m];
end;
Writeln('naib-i element vectora a[',m,']=',max:0:3);
i:=0;
for k:=m+1 to n do
begin
i:=i+1;
c[i]:=a[k];
end;
c[i+1]:=a[m];
i:=i+1;
for w:=1 to m do
begin
i:=i+1;
c[i]:=a[w];
end;
writeln('novii vector:');
for i:=1 to n do
writeln('a[',i,']=',c[i]:1:3);
readln;
end.
unit module;
interface
const nn=20;
Type TVector=Array[1..nn] of Real;
Function GetVector(Var V: TVector): integer;
function GetMax(V: TVector; n: integer): Integer;
Procedure PrintVector(V: TVector; n: integer);
implementation
Function GetVector(Var V: TVector): integer;
var i, n: integer;
begin
repeat
write('vveditekolichvo elementov (ne bolee 20) n=');
readln(n);
until n<=20;
writeln('vvedite elementi massiva');
for i := 1 to n do begin
write('a[',i,']='); readln(V[i]);
end;
GetVector := n;
end;
function GetMax(V: TVector; n: integer): Integer;
Var i, max: Integer;
begin
max := 1;
for i := 2 to n do
if V[i] > V[max] then max := i;
GetMax := max
end;
Procedure PrintVector(V: TVector; n: integer);
Var i: integer;
begin
for i := 1 to n do
writeln('a[',i,']=', V[i]:1:3);
end;
end.
uses
crt, module;
Var
a, c: TVector;
i, k, n, max: integer;
begin
ClrScr;
n := GetVector(a);
max := GetMax(a, n);
Writeln('naib-i element vectora a[',max,']=',a[max]:0:3);
i := 0;
for k := max + 1 to n do begin
i := i + 1;
c[i] := a[k];
end;
i := i + 1; c[i] := a[max];
for k := 1 to max - 1 do begin
i := i + 1;
c[i] := a[k];
end;
writeln('novii vector:');
PrintVector(c, n);
readln;
end.