Отсортировать массив по убыванию - Pascal ABC (14814)

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

Дан массив В(20). Заполните его случайными числами в интервале [0,100]. Отсортируйте по убыванию и выведите массив на экран.


textual

Код к задаче: «Отсортировать массив по убыванию - Pascal ABC (14814)»

const N = 20; // размер массива
type tArray = array[1..N] of integer;
 
var
 myArr: tArray;
 i,max:integer;
 
 // процедура для заполнения массива типа tArr[n] random
 // @param a,b - диапазон рандома
 procedure RandomFillArray1(n,a,b:integer;var arr:tArray);
 var i:integer;
 begin
 randomize;
  for i:=1 to n do
    arr[i]:=random(b-a+1)+a;
 end;
 
 // процедура сортирует массив.
 // @param descent - если по убыванию, то true, иначе false
 // @param m - размер массива
 procedure SortArray(descent:boolean;var arr:tArray;m:integer);
 var i,j,k:integer;
 begin
 if descent=false then
    begin
  for i := 1 to m-1 do
        for j := 1 to m-i do
            if arr[j] > arr[j+1] then begin
                k := arr[j];
                arr[j] := arr[j+1];
                arr[j+1] := k
            end;
    end
        else
  for i := 1 to m-1 do
        for j := 1 to m-i do
            if arr[j] < arr[j+1] then begin
                k := arr[j];
                arr[j] := arr[j+1];
                arr[j+1] := k
            end;
 
 end;
 
   // процедура печатает массив tArray размера size
 procedure PrintArr(size:integer;arr:tArray);
 var i:integer;
 begin
    for i:=1 to size do
     write(arr[i],' ');
     writeln;
 end;
 
 
 // main program
 begin
  RandomFillArray1(N,0,100,myArr);
  SortArray(true,myArr,N);
  PrintArr(N,myArr);
 end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 3.800 из 5

Источник