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.