Отсортировать массив в порядке убывания и найти разницу первого и последнего элементов - Pascal

Узнай цену своей работы

Формулировка задачи:

Отсортировать массив x с n элементов в порядке убывания и найти разницу первого и последнего элементов массива.

Решение задачи: «Отсортировать массив в порядке убывания и найти разницу первого и последнего элементов»

textual
Листинг программы
  1. {uses SysUtils} //Раскоментируй это, если у тебя не PascalABC.NET
  2.  
  3. type
  4.   int = integer;
  5.   uint = byte;
  6.   arr = array of int;
  7.  
  8. procedure quicksort(var mas:arr; first, last:int); //Быстрая сортировка
  9. var i, l, x, buf:int;
  10. begin
  11.   if not(first < last) then
  12.     exit;
  13.   x:= mas[(first + last) div 2];
  14.   i:= first;
  15.   l:= last;
  16.   while (i <= l) do
  17.   begin
  18.     while (mas[i] > x) do //Для возрастания поставь <
  19.       inc(i);
  20.     while (mas[l] < x) do //Для возрастания поставь >
  21.       dec(l);
  22.     if (i <= l) then
  23.     begin
  24.       buf:= mas[i];
  25.       mas[i]:= mas[l];
  26.       mas[l]:= buf;
  27.       inc(i);
  28.       dec(l);
  29.     end;
  30.   end;
  31.   quicksort(mas, first, l);  
  32.   quicksort(mas, i, last);
  33. end;
  34.  
  35. var
  36.   x:arr;
  37.   i:uint;
  38.  
  39. begin
  40.   writeln('Введите n - размер массива:');
  41.   read(i);
  42.   SetLength(x, i);
  43.   writeln('Введите массив:');
  44.   for i:= low(x) to high(x) do
  45.     read(x[i]);
  46.   quicksort(x, low(x), high(x));
  47.   writeln('Разница первого и последнего элементов отсортированног по убыванию массива: ', x[low(x)] - x[high(x)]);
  48. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы