Дан одномерный массив из 15 элементов. Переставить в обратном порядке элементы, расположенные между максимальным и минимальным элементами, включая их.
например дано: 5 6 3 14 2 1 2 4 9 10 15 7 11 3 8
выведет: 5 6 3 14 2 15 10 9 4 2 1 7 11 3 8
числа задаются random
Паскаль
Answers & Comments
var s,i,min,max,m,n: integer;
var a: array[1..15] of integer;
begin
for i:=1 to 15 do begin
a[i]:=random(100);
write(a[i],' ') end;
writeln; m:=a[1];n:=a[1];
for i:=1 to 15 do begin
if m<a[i] then begin
m:=a[i]; min:=i; end;
if n>a[i] then begin
n:=a[i]; max:=i; end; end; if max<min then begin s:=max;max:=min;min:=s; end;
for i:=1 to ((abs(max-min)) div 2 +1) do begin
s:=a[min]; a[min]:=a[max]; a[max]:=s; min:=min+1; max:=max-1; end; for i:=1 to 15 do write(a[i],' '); end.