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

Объяснение кода листинга программы

  1. Объявляются пользовательские типы данных:
    • int как псевдоним для integer
    • uint как псевдоним для byte
    • arr как массив целых чисел
  2. Определяется процедура quicksort, которая реализует алгоритм быстрой сортировки для сортировки массива в порядке убывания.
  3. В основной программе:
    • Объявляется переменная x как массив arr
    • Объявляется переменная i как uint
  4. Вводится размер массива n и выделяется память для массива x размера n.
  5. Пользователю предлагается ввести элементы массива.
  6. Осуществляется сортировка массива x с использованием процедуры quicksort.
  7. Выводится разница между первым и последним элементами отсортированного массива в порядке убывания.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы