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

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

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

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

Решение задачи: «Отсортировать массив по убыванию»

textual
Листинг программы
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.

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

  1. В начале кода объявляются необходимые переменные и константы: N (размер массива), tArray (тип массива), myArr (переменная для хранения массива), i, max (два индекса для итерации по массиву), RandomFillArray1 (процедура для заполнения массива случайными числами), SortArray (процедура для сортировки массива), PrintArr (процедура для печати массива).
  2. Затем идет описание процедур: RandomFillArray1, SortArray и PrintArr. Каждая из них выполняет определенные действия: заполнение массива случайными числами, сортировка массива по возрастанию или по убыванию и печать массива соответственно.
  3. После этого идет описание основной программы, которая включает в себя вызов этих процедур. Сначала вызывается RandomFillArray1 для заполнения массива случайными числами, затем SortArray для сортировки массива по возрастанию (так как в задании указано отсортировать массив по возрастанию), и наконец, PrintArr для печати отсортированного массива.
  4. Код написан на языке Pascal ABC, который поддерживает процедуры и функции, а также переменные. Все переменные объявлены с определенным типом данных и имеют уникальные имена. В процедурах и функциях используются параметры для передачи информации в них.
  5. Код структурирован и логичен. Он выполняет поставленную задачу - сортирует массив по возрастанию и печатает его.

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


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

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

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