Показать сообщение отдельно
Старый 02.01.2011, 18:35   #2 (permalink)
N@tali
Member
 
Регистрация: 02.01.2011
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

вот держи Метод выбора по возрастанию

Код:
{сортировка выбором по возрастанию}
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.
N@tali вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070