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

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

Решение:

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

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

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

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

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

  • В самой функции надо изменить знаки неравенства, а то выводит в порядке убывания 🙂

    Саму сортировку потестил, так тоже работает, ошибок не замечено

    • проверил сейчас… вроде по возрастанию вы водит..

      вводные данные:
      N: 5
      A:
      1.x :-1
      1.y :-1
      2.x :2
      2.y :2
      3.x :0
      3.y :0
      4.x :3
      4.y :3
      5.x :4
      5.y :4
      Вывод:
      -1: -1
      0: 0
      2: 2
      3: 3
      4: 4

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

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