Сформировать модуль, который сортирует по возрастанию дробные элементы массива - Pascal

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

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

сформировать модуль, который сортирует по фазрастанию ДРОБНЫЕ элементы массива. заранее спасибо за помощь

Решение задачи: «Сформировать модуль, который сортирует по возрастанию дробные элементы массива»

textual
Листинг программы
unit SortDrob;
interface
type
Natur = 1..high(longInt);{натуральные числа типа longint}
Frac = record
       p:integer; {Числитель дроби}
       q:Natur {Знаменатель дроби}
       end;
mass=array[1..100] of Frac;
procedure Vvod(var m:mass; var n:integer);
procedure Vyvod(var m:mass;n:integer);
procedure Sort(var m:mass;n:integer);
{Раздел реализации модуля}
implementation
procedure Vvod;
var i:integer;
begin
write('Введите размер массива - ');
readln(n);
writeln('Исходный массив:');
for i:=1 to n do
 begin
  m[i].p:=random(20)-9;
  m[i].q:=random(20)+1;
  write(m[i].p,'/',m[i].q,' ');
 end;
writeln;
end;
 
procedure Vyvod;
var i:integer;
begin
writeln('Отсортированный массив:');
for i:=1 to n do
write(m[i].p,'/',m[i].q,' ');
end;
{вспомогательная функция, только внутри модуля}
function Bolshe(a,b:Frac):boolean;
begin
 Bolshe:=a.p*b.q > a.q*b.p
end;
procedure Sort;
var i,j:integer;
    x:Frac;
begin
for i:=1 to n-1 do
for j:=i to n do
if Bolshe(m[i],m[j])then
 begin
  x:=m[i];
  m[i]:=m[j];
  m[j]:=x;
 end;
end;
end.

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

Данный код представляет собой модуль Pascal, который реализует функцию сортировки массива дробных чисел по возрастанию. В начале определены основные типы и переменные:

  • Natur - тип, представляющий натуральные числа типа longInt;
  • Frac - запись типа, содержащая числитель p и знаменатель q дроби;
  • mass - массив дробных чисел типа Frac;
  • n - переменная, хранящая размер массива. Далее определены три процедуры:
  • Vvod - процедура ввода данных, которая считывает размер массива n и заполняет его случайными дробными числами;
  • Vyvod - процедура вывода отсортированного массива;
  • Sort - основная процедура сортировки массива. Внутри процедуры Sort используется цикл for, который выполняет сортировку массива методом пузырька. В каждой итерации цикла сравниваются два соседних элемента массива и если текущий элемент больше следующего, то они меняются местами. Этот процесс повторяется до тех пор, пока массив не будет полностью отсортирован. Также в коде определена вспомогательная функция Bolshe, которая сравнивает два элемента массива и возвращает true, если первый элемент больше второго, и false в противном случае. В итоге, данный код реализует функцию сортировки массива дробных чисел по возрастанию.

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


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

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

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