{сортировка выбором нечетных по убываниюпо возрастанию}
uses crt;
const nmax=100;
var a:array [1..nmax]of integer;
n,i,j,ip,nmin,buf:integer;
Begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(100);
write(a[i]:4);
end;
writeln;
writeln;
ip:=0;
for i:=n downto 1 do
if odd(a[i]) then ip:=i;
if ip=0 then write('Нечетных элементов нет!')
else
begin
i:=ip;
while i<=n-1 do
if odd(a[i]) then
begin
nmin:=i;
for j:=i+1 to n do
if odd(a[j])and(a[j]>a[nmin]) then nmin:=j;
buf:=a[i];
a[i]:=a[nmin];
a[nmin]:=buf;
i:=i+1;
end
else i:=i+1;
writeln('Упорядоченный массив: ');
for i:=1 to n do
write(a[i]:4);
end;
readln;
end.