Pascal. Задача 8-17

Выполнить сортировку массива, введенного пользователем, по возрастанию методом поиска наименьшего элемента.

Примечание: Метод поиска наименьшего элемента заключается в следующем: сначала ищется наименьший элемент во всем массиве и меняется местами с первым элементом, затем ищется наименьший элемент, начиная со второго и меняется местами с ним. На третьем шаге поиск осуществляется уже с третьего элемента и обмен позициями наименьшего элемента производится с ним. Таким образом, на i-ом шаге поиск ведется с i-го элемента и с ним производится обмен позициями найденного элемента.

Метод поиска наименьшего элемента считается медленным алгоритмом сортировки.

Решение
const
  N = 10;
var
  i, j, nmin, tmp : integer;
  a : array[1..N] of integer;
begin
  for i := 1 to N do begin
    Write('Введите элемент массива ', i, ': ');
    Readln(a[i]);
  end;
  for i := 1 to N - 1 do begin
    nmin := i;
    k := i;
    for j := i + 1 to N do
      if a[j] < a[nmin] then
        nmin := j;
    if nmin > i then begin
      tmp := a[i];
      a[i] := a[nmin];
      a[nmin] := tmp;
    end;
  end;
  for i := 1 to N do
    Write(a[i], ' ');
  Writeln();
end.