//Прошу прощения за "пузырёк"//Pascal ABC.NET 3.1 сборка 1219Const n=5; //количество вершин Type ty=record x:integer; y:integer;end;Var ar:array[1..n] of ty; i,j:integer;begin for i:=1 to n do begin write('Абсцисса точки №',i,':');readln(ar[i].x); write('Ордината точки №',i,':');readln(ar[i].y); end;for i:=1 to n-1 do for j:=i+1 to n do if ar[i].x>ar[j].x then swap(ar[i],ar[j]);for i:=1 to (n div 2)-1 do for j:=i+1 to n div 2 do if ar[i].y<ar[j].y then swap(ar[i],ar[j]);for i:=n div 2+1 to n-1 do for j:=i+1 to n do if ar[i].y>ar[j].y then swap(ar[i],ar[j]);ar.reverse.Print;end.Пример ввода:Абсцисса точки №1:1Ордината точки №1:2Абсцисса точки №2:2Ордината точки №2:1Абсцисса точки №3:-3Ордината точки №3:-3Абсцисса точки №4:3Ордината точки №4:3Абсцисса точки №5:3Ордината точки №5:1Пример вывода:(3,3) (3,1) (2,1) (-3,-3) (1,2)