вот держи Метод выбора по возрастанию
Код:
{сортировка выбором по возрастанию}
uses crt;
type mas=array [1..1000]of integer;{тип-массив целых чисел}
procedure SortVyb(var m:mas;n:integer);{внешняя процедура-сортировка по возрастанию
входной параметр-размер массивап N, входной и выходной-сам массив}
procedure Min(i:integer;var nmin:integer);{внутренняя процедура-поиск индекса минимального компонента
входной параметр-очередной индекс массива, выходной-индекс минимального на просматриваемом участке массива}
var j:integer;
begin
nmin:=i;
for j:=i+1 to n do
if m[j]<m[nmin] then nmin:=j;
end;
var i,nmin,buf:integer;{локальные переменные процедуры сортировки}
begin
for i:=1 to n-1 do
begin
Min(i,nmin);{ищем мин}
buf:=m[i];{делаем обмен}
m[i]:=m[nmin];
m[nmin]:=buf;
end;
end;
var a:mas;
n,i:integer;
Begin
clrscr;
randomize;
write('n=');readln(n);
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(20)-9;
write(a[i],' ');
end;
writeln;
SortVyb(a,n);
writeln('Упорядоченный массив: ');
for i:=1 to n do
write(a[i],' ');
readln;
end.