Ответ; <span>320x320; 240x320; 480x240
</span>
<em><u> P.S. Надеюсь на благодарность и лучший ответ.</u></em>
//Прошу прощения за "пузырёк"
//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)
Да будут, по скольку даны стороны. вроде бы так
const
n = 5;
var
i, j, k: integer;
a: array[1..n] of integer;
p: boolean;
begin
randomize;
for i := 1 to n do
repeat
k := random(90) + 1;
j := 1;
p := True;
while p and (j < i) do
if a[j] = k then
p := False
else
j := j + 1;
if p then
a[i] := k;
until p = True;
for i := 1 to n do
write(a[i], ' ');
end.