Narrow Default Wide
Blue Colour Green Colour Orange Colour Red Colour

Государственное бюджетное общеобразовательное учреждение

средняя общеобразовательная школа № 356

с углубленным изучением английского и немецкого языков

Московского района Санкт-Петербурга

 

сортировка одном. массива



program SortVozrast;

type
  MS = array[1..40] of integer;

var
  I, J: integer;
  Mas: Ms;

procedure SortVozr(N: integer; var Arr: ms);
var
  I, J, A: Integer;
begin
  for I := N DownTo 1 do
    for J := 1 to I - 1 Do
      if Arr[J] > Arr[J + 1] Then Swap(Arr[J], Arr[J + 1]);
end;

procedure SortUbiv(N: integer; var Arr: ms);
var
  I, J, A: Integer;
begin
  for I := N DownTo 1 do
    for J := 1 to I - 1 Do
      if Arr[J] < Arr[J + 1] Then Swap(Arr[J], Arr[J + 1]);
end;

begin
  Randomize;
  for I := 1 to 40 do
    Mas[I] := Random(899) + 100;  // Область трёхзначных чисел
  WriteLn;
  WriteLn;
  WriteLn('Случайный массив');
  WriteLn;
  for I := 1 to 40 do
    Write(Mas[I]:5);
  SortVozr(40, Mas);  
  WriteLn;
  WriteLn;
  WriteLn('После сортировки по возрастанию');
  WriteLn;
  for I := 1 to 40 do
    Write(Mas[I]:5);
  SortUbiv(40, Mas);  
  WriteLn;
  WriteLn;
  WriteLn('После сортировки по убыванию');
  WriteLn;
  for I := 1 to 40 do
    Write(Mas[I]:5);
end.


{ В программе используется процедура Swap(x,Y);  Она имеется в PascalABC и предназназначена для смены значений переменных
 Она может выглядеть так}

Procedure Swap(var X,Y:integer);
  var w:integer;
begin
  X:=w; X:=Y; Y:=w;  variant
end;