Решаем задачи Абрамян на Паскале. Array140

Array140. Дано множество $$A$$ из $$N$$ точек с целочисленными координатами x, y. Порядок на координатной плоскости определим следующим образом: $$(x_1, y_1) \lt (x_2, y_2)$$, если либо $$x_1 + y_1 \lt x_2 + y_2$$, либо $$x_1 + y_1 = x_2 + y_2$$ и $$x_1 \lt x_2$$. Расположить точки данного множества по убыванию в соответствии с указанным порядком.

Решение:

Добавил процедуру Swap, которая меняет местами значения. x1 c x2 и y1 c y2.

И функцию Compare булевого типа, которая сравнивает «точки» по указанному в задаче алгоритму и в случе если (x1,y1)<(x2,y2) выводит True если нет то False.

 

Задачи из раздела Array  можно посмотреть здесь.

Комментарии:

Комментарии 2

  • В моем коде сортировка по возрастанию. Чтобы программа сортировала по убыванию нужно заменить код в строках с 20 по 31 на:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *