Структуры и алгоритмы обработки данных



Описание процедур, используемых в программе - часть 2


{*********************************************************}

procedure notupor(a:array of integer;var a1:array of integer);

var

{i - счетчик в циклах}

 i:integer;

begin

 for i:=0 to high(a) do

  begin {элемент массива принимает случайное значение из диапазона 0 <= a[i] < 9999}

   a[i]:=random(9999);

  end;

 for i:=0 to high(a) do

   a1[i]:=a[i];

end;

{*********************************************************}

{***** процедура, осуществляющая сортировку методом прямого выбора***}

{*********************************************************}

procedure pr_choose(a:array of integer;var a1:array of integer;var k,k1:longint);

var

{i,j - счетчики в циклах}

 i,j:integer;

{x - переменная для осуществления обмена между a[i] и a[j]}

 x:integer;

begin

{k1  -  переменная для подсчета количества сравнений

 k   -  переменная для подсчета количества перемещений}

           k:=0;k1:=0;

{high(a) - функция, возвращающая номер последнего элемента массива}

for i := 0 to high(a) - 1 do

  begin

    for j := i + 1 to high(a) do

     begin

      k1:=k1+1;

      if a[i] < a[j] then

        begin

         k:=k+1;

  {перестановка i-го с j-м элементом с помощью переменной x}

          x:=a[i];

          a[i]:=a[j];

          a[j]:=x;

        end;

     end;

  end;

for i:=0 to high(a) do

 a1[i]:=a[i];

end;

{**********************************************************

 ***** процедура, осуществляющая сортировку методом прямого *

 *************** обмена(метод пузырька) *********************

**********************************************************}

procedure pr_obm(a:array of integer;var a1:array of integer;var k,k1:longint);

var

{i,j - счетчики в циклах}

 i,j:integer;

{x - переменная для осуществления обмена между a[j-1] и a[j]}

 x:integer;

begin

{k1 -  переменная для подсчета количества сравнений

 k  -  переменная для подсчета количества перемещений}

k:=0;k1:=0;

for i := 1 to high(a) do

 begin

  for j := high(a) downto i do

   begin




Содержание  Назад  Вперед