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

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


textual

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

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.

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

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



Похожие ответы
  1. Проверьте, правильно ли работает программа. А именно PROCEDURE BSr, и правильность передачи переменных в основную программу. ЗАДАНИЕ: Сформировать массив из чисел, больших среднего.

  1. Заполнить числами, начиная с единицы, квадратный массив из NxN элементов «змейкой». Пример, для массива 4х4: Код 1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13 Реализовать ввод размерности с клавиатуры

  1. Помогите исправить ошибку . Задание :Сформировать двумерный массив. Удалить из него строку и столбец, на пересечении которых находится минимальный элемент.

  1. Создать одномерный числовой массив из 6 элементов и вывести результат на экран. Затем элементы, стоящие на нечетных местах уменьшить на 2, подсчитать сумму этих элементов и вывести эти значения на экран с пояснениями.

  1. Добрый вечер! Помогите, пожалуйста! Даны три целочисленных массива длиной n, m, l (заполняются случайными целыми числами). В первом массиве осуществить циклический сдвиг вправо на a позиций, во втором на b, в третьем на c. Нужно сделать через процедуры Заранее благодарю

  1. Добрый вечер! Помогите, пожалуйста! Даны три целочисленных массива длиной n, m, l (заполняются случайными целыми числами). Если количество четных элементов больше, то отсортировать его по возрастанию, иначе по убыванию Обязательно сделать через процедуры Заранее благодарю

  1. Дан целочисленный вектор А(n). Отсортировать его элементы методом просеивания.Добавлено через 3 часа 24 минуты

  1. Нужно написать прогу плиз) Буду благодарен)) Дана целочисленная прямоугольная матрица. Определить: 1) количество строк, не содержащих ни одного нулевого элемента; 2) встречается ли более од¬ного раза максимальное из чисел в заданной матрице.

  1. Определить и вывести сумму элементов, значения которых находятся в диапазоне от А до В. Количество элементов массива:14 Тип Элемента массива: Int Результат вывести в виде: A[1]=........ A[2]=......... A[3]=......... Большое спасибо, за помощь!