Отсортировать массив в порядке убывания и найти разницу первого и последнего элементов - Pascal
Формулировка задачи:
Отсортировать массив x с n элементов в порядке убывания и найти разницу первого и последнего элементов массива.
Решение задачи: «Отсортировать массив в порядке убывания и найти разницу первого и последнего элементов»
textual
Листинг программы
{uses SysUtils} //Раскоментируй это, если у тебя не PascalABC.NET type int = integer; uint = byte; arr = array of int; procedure quicksort(var mas:arr; first, last:int); //Быстрая сортировка var i, l, x, buf:int; begin if not(first < last) then exit; x:= mas[(first + last) div 2]; i:= first; l:= last; while (i <= l) do begin while (mas[i] > x) do //Для возрастания поставь < inc(i); while (mas[l] < x) do //Для возрастания поставь > dec(l); if (i <= l) then begin buf:= mas[i]; mas[i]:= mas[l]; mas[l]:= buf; inc(i); dec(l); end; end; quicksort(mas, first, l); quicksort(mas, i, last); end; var x:arr; i:uint; begin writeln('Введите n - размер массива:'); read(i); SetLength(x, i); writeln('Введите массив:'); for i:= low(x) to high(x) do read(x[i]); quicksort(x, low(x), high(x)); writeln('Разница первого и последнего элементов отсортированног по убыванию массива: ', x[low(x)] - x[high(x)]); end.
Объяснение кода листинга программы
- Объявляются пользовательские типы данных:
int
как псевдоним дляinteger
uint
как псевдоним дляbyte
arr
как массив целых чисел
- Определяется процедура
quicksort
, которая реализует алгоритм быстрой сортировки для сортировки массива в порядке убывания. - В основной программе:
- Объявляется переменная
x
как массивarr
- Объявляется переменная
i
какuint
- Объявляется переменная
- Вводится размер массива
n
и выделяется память для массиваx
размераn
. - Пользователю предлагается ввести элементы массива.
- Осуществляется сортировка массива
x
с использованием процедурыquicksort
. - Выводится разница между первым и последним элементами отсортированного массива в порядке убывания.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д