Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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.
Ответить с цитированием
  #2  
Старый 26.11.2010, 00:07
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

тут min - индекс минимального элемента. Его мы ищем. Надо какое-то начальное значение задать. Вот мы и задаем - I, т.е. первый элемент в несортированной части массива. Потом пробегаемся по этой части и ищем минимальный.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025