Показать сообщение отдельно
  #1  
Старый 25.11.2010, 19:20
iluxa1810 iluxa1810 вне форума
Новичок
 
Регистрация: 06.10.2010
Сообщения: 51
Репутация: 10
По умолчанию Помогите разобраться в сортировке методом прямого выбора

Я не могу понять,как находится самый мелкий элемент.Там же написано min:=i и все.Как определяется ,что этот элемент минимален ?
Код:
program sortar;
const 
    size=5; 
var 
    a: array[1..size] of integer;
    i:integer; {номер элемента, от которого ведётся поиск},
               {минимального элемента}
    min:integer; {номер минимального элемента в части}
    j:integer; {номер эл-та, сравниваемого с минимальным}
    buf:integer; {буфер, используемый при обмене эл-ов массива}
    k:integer;
begin
    writeln('Сортировка массива.');
    write('Введите', size:3,' целых в одной строке');
    writeln('через пробел и нажмите Enter');
    for k:=1 to size do read(a[k]);
    writeln('Сортировка');
    for i:=1 to size-1 do
    begin
        {поиск минимального эл-та в части массива от a[i] до a[size]}
        min:=i;
        for j:=i+1 to size do begin
             if a[j]<a[min] then min:=j;
            {поменяем местами a[min] и a[i]}
            buf:=a[i];
            a[i]:=a[min];
            a[min]:=buf; 
        {Выведем массив}
        for k:=1 to size do write(a[k],' ');
            writeln;
            end;
    end;
    writeln('Массив отсортирован. ');
end.
Ответить с цитированием