program
Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
Const
N0=
20
;
Type
Massif=
Array
[
0..
N0-
1
]
Of
Integer
;
Var
Mas, Masf: Massif;
a:
Integer
;
i, N, MinInd, MaxInd:
Byte
;
begin
Repeat
Write
(
'Razmer (2<N<20): N = '
);
ReadLn(N);
Until
((N>
2
)
And
(N<=
20
));
WriteLn
;
WriteLn
(
'Ishodnyi massiv:'
);
WriteLn
;
Randomize;
For
i:=
0
To
N-
1
Do
Begin
Mas[i]:=Random(
1000
)-Random(
1000
);
WriteLn
(
'Mas['
, i+
1
,
'] = '
, Mas[i]);
End
;
MinInd:=
0
;
MaxInd:=
0
;
For
i:=
0
To
N-
1
Do
Begin
If
(Mas[MinInd]>Mas[i])
Then
MinInd:=i;
If
(Mas[MaxInd]<Mas[i])
Then
MaxInd:=i;
End
;
WriteLn
;
WriteLn
(
'----------------'
);
WriteLn
;
WriteLn
(
'Min = '
, Mas[MinInd]);
WriteLn
(
'Max = '
, Mas[MaxInd]);
WriteLn
;
WriteLn
(
'Poluchennyi massiv:'
);
WriteLn
;
If
(
Abs
(MaxInd-MinInd)<=
2
)
Then
WriteLn
(
'Mejdu minimalnym i maksimalnym elementami perestavlyat nechego!'
)
Else
If
(MaxInd>MinInd)
Then
Begin
For
i:=MinInd+
1
To
MaxInd-
1
Do
Masf[i]:=Mas[i];
For
i:=MinInd+
1
To
MaxInd-
1
Do
Mas[MaxInd-i+MinInd]:=Masf[i];
End
Else
If
(MaxInd<MinInd)
Then
Begin
For
i:=MaxInd+
1
To
MinInd-
1
Do
Masf[i]:=Mas[i];
For
i:=MaxInd+
1
To
MinInd-
1
Do
Mas[MinInd-i+MaxInd]:=Masf[i];
End
;
For
i:=
0
To
N-
1
Do
WriteLn
(
'Mas['
, i+
1
,
'] = '
, Mas[i]);
ReadLn;
end
.