----------------------------- СРОЧНО --------------------- Необходимо составить программу в pascal ABC с использованием рекурсии под инвертированием понимают перестановку первого и последнего элементов этой части, второго и предпоследнего и т.д. а вот само задание ==> Инвертировать часть массива, расположенную между самым левым минимальным в первой половине массива и самым правым максимальным во второй половине массива.

1

Ответы и объяснения

2012-12-12T12:21:55+00:00

Program Pr1;
uses crt;
var mas:array[1..10] of integer;
i,a,b,max,min,x,t:integer;
Begin
clrscr;
randomize;
for i:=1 to 10 do mas[i]:=random(10);
for i:=1 to 10 do write(mas[i]);
max:=0;
min:=99;
for i:=1 to 5 do if mas[i]<=min then begin
min:=mas[i];
a:=i;
end;
for i:=6 to 10 do if mas[i]>=max then begin
max:=mas[i];
b:=i;
end;
t:=0;
for i:=a to b div 2 do begin
x:=mas[b-t];
mas[b-t]:=mas[i];
mas[i]:=x;
t:=t+1;
end;
writeln();
for i:=1 to 10 do write(mas[i]);
end.