Сортировка массива по возрастанию методом прямого выбора — Pascal(Паскаль)

program sortarr;
const
     SIZE=5;
var
     a:array[1..SIZE] of integer;
     i:integer; { номер элемента, от которого ведется поиск }
                { минимального эл-та }
     min:integer; { номер минимального элемента в части }
                  { массива от i до верхней границы массива }
     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.

Leave a Comment

3 + = 12