Сформировать одномерный массив размером K+N из двух упорядоченных одномерных массивов - Pascal
Формулировка задачи:
Из двух упорядоченных одномерных массивов (длины K и N) сформируйте одномерный массив размером K+N, упорядоченный так же, как исходные массивы.
Решение задачи: «Сформировать одномерный массив размером K+N из двух упорядоченных одномерных массивов»
textual
Листинг программы
type TLessFunc=function(a, b: Integer): Boolean; function IsLess(a, b: Integer): Boolean; far; begin IsLess:=a<b end; function IsMore(a, b: Integer): Boolean; far; begin IsMore:=a>b end; var less: TLessFunc; begin ... if a[1]<a[n] then less:=@IsLess else less:=@IsMore; ...
Объяснение кода листинга программы
- Объявляется новый тип
TLessFunc
, представляющий собой функцию, принимающую два целых числа и возвращающую булево значение. - Объявляются две функции
IsLess
иIsMore
, которые будут использоваться в качестве функций сравнения. ФункцияIsLess
возвращаетTrue
, если первый аргумент меньше второго, иначе возвращаетFalse
. А функцияIsMore
возвращаетTrue
, если первый аргумент больше второго, иначе возвращаетFalse
. - Объявляется переменная
less
с типомTLessFunc
. - В зависимости от того, больше ли первый элемент массива
a
чем последний элемент массиваa
, переменнойless
присваивается адрес функцииIsLess
либо функцииIsMore
. - Происходит дальнейшая обработка кода, опущенная в данном фрагменте.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д