Напечатать элементы второй строки матрицы в порядке убывания - Pascal
Формулировка задачи:
Дано квадратную матрицу размерности n x n.Напечатать элементы второй строки в порядке убывания.
Решение задачи: «Напечатать элементы второй строки матрицы в порядке убывания»
textual
Листинг программы
{uses SysUtils} //Раскоментируй это, если у тебя не PascalABC.NET type int = integer; uint = byte; list = array of int; matrix = array of list; procedure quicksort(var mas:list; first, last:int); //Быстрая сортировка var i, l, x, buf:int; begin if not(first < last) then exit; x:= mas[(first + last) div 2]; i:= first; l:= last; while (i <= l) do begin while (mas[i] > x) do //Для возрастания поставь < inc(i); while (mas[l] < x) do //Для возрастания поставь > dec(l); if (i <= l) then begin buf:= mas[i]; mas[i]:= mas[l]; mas[l]:= buf; inc(i); dec(l); end; end; quicksort(mas, first, l); quicksort(mas, i, last); end; var arr:matrix; i, j:uint; begin writeln('Введите n - линейный размер матрицы'); read(i); SetLength(arr, i); writeln('Введите матрицу размером n x n:'); for i:= low(arr) to high(arr) do //Здесь вместо low и high можно поставить 0 и n - 1 begin SetLength(arr[i], Length(arr)); for j:= low(arr[i]) to high(arr[i]) do read(arr[i, j]); end; quicksort(arr[low(arr) + 1], low(arr), high(arr)); //В дальнейшем low(arr) + 1 эквивалентно 1 writeln('Вторая строка по убыванию:'); for j:= low(arr[low(arr) + 1]) to high(arr[low(arr) + 1]) do write(arr[low(arr) + 1, j], ' '); end.
Объяснение кода листинга программы
- Объявление типов переменных:
- 'int' как псевдоним для 'integer'
- 'uint' как псевдоним для 'byte'
- 'list' как массив целых чисел
- 'matrix' как массив массивов целых чисел (матрица)
- Процедура quicksort:
- Процедура быстрой сортировки, использующая рекурсию
- Принимает в качестве параметров массив 'mas', начальный индекс 'first' и конечный индекс 'last'
- Объявление переменных:
- 'arr' как матрица
- 'i' и 'j' как целые числа без знака
- Основная часть программы:
- Запрашивается у пользователя размер матрицы 'n'
- Пользователь вводит элементы матрицы 'arr'
- Применяется быстрая сортировка к массиву, соответствующему второй строке матрицы, в порядке убывания
- Выводится отсортированная вторая строка матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д