Отсортировать массив в порядке убывания и найти разницу первого и последнего элементов - 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
. - Выводится разница между первым и последним элементами отсортированного массива в порядке убывания.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д