Помогите,пожалуйста,очень срочно! Написать программу организующую сортировку выбора. Процедуру использовать только для сортировки!

Помогите,пожалуйста,очень срочно! Написать программу организующую сортировку выбора. Процедуру использовать только для сортировки!
Гость
Ответ(ы) на вопрос:
Гость
const n = 10; type arr=array[1..n] of byte; procedure sort(var a:arr); var i, j, max, imax:integer; begin j := n; while j > 1 do begin     max := a[1];     imax := 1;     for i := 2 to j do         if a[i] > max then begin             max := a[i];             imax := i         end;     a[imax] := a[j];     a[j] := max;     j := j - 1  end; end; var a: arr; i: byte;   begin Randomize; writeln('Исходный массив:'); for i := 1 to n do    begin   a[i] := random(256);   write(a[i]:4)   end; writeln; sort(a); writeln('Отсортированный массив:'); for i := 1 to n do write(a[i]:4); writeln; end. Пример: Исходный массив:  119 239 156 143  34 184  93  19 218 120 Отсортированный массив:   19  34  93 119 120 143 156 184 218 239
Гость
procedure Sort(arr : array of integer); var   i, j, temp, len, min : integer; begin   len := length(arr);   for j := 0 to len - 2 do   begin     min := j;       for i := j + 1 to len - 1 do       if arr[i] < arr[min] then         min := i;     if min > j then     begin       temp := arr[j];       arr[j] := arr[min];       arr[min] := temp;     end;   end; end; const   N = 10; // Количество элементов массива   Max = 100; // Максимальное число в массиве var   arr : array of integer;   i : integer; begin   //Устанавливаем длину массива   SetLength(arr, N);   for i := 0 to N - 1 do     arr[i] := random(Max);     //Выводим исходный массив   for i := 0 to N - 1 do     write(arr[i], ' ');   writeln();   Sort(arr);   //Выводим отсортированный массива   for i := 0 to N - 1 do     write(arr[i], ' ');   writeln(); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы