Отсортировать элементы массива методом линейного выбора - Turbo Pascal
Формулировка задачи:
Дан целочисленный вектор А(n). Отсортировать его элементы методом линейного выбора с подсчётом
Решение задачи: «Отсортировать элементы массива методом линейного выбора»
textual
Листинг программы
const n = 15; var a, b, cnt: array[1..n] of integer; i, j, k: integer; begin randomize; {формирование и вывод исходного массива} writeln('Исходный массив:'); for i := 1 to n do begin a[i] := -99 + random(199); write(a[i]:4) end; writeln; {инициализация массива счётчиков} for i := 1 to n do cnt[i] := 1; {формирование массива счётчиков} for i := 1 to n - 1 do begin k := 0; {количество меньших элементов для i-го элемента} for j := i + 1 to n do if a[i] < a[j] then cnt[j] := cnt[j] + 1 else k := k + 1; {в счётчики больших элементов добавляем единицы} cnt[i] := cnt[i] + k end; {перезаписываем массив в соответствии со значениями массива счётчиков} for i := 1 to n do b[cnt[i]] := a[i]; {выводим отсортированный массив} writeln('Отсортированный массив:'); for i := 1 to n do write(b[i]:4); readln end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д