Решить на паскале. выпуклый многоугольник на плоскости задан своими вершинами, расположенными в произвольном порядке. расположить вершины в порядке обхода по часовой стрелке.
прощения за "пузырёк" //Pascal ABC.NET 3.1 сборка 1219
Const 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)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку