Пусть дано N произвольных точек плоскости, абсциссы и ординаты которых записаны соответственно в целочисленные массивы X и Y. Определить длину наибольшего из всех возможных отрезков, составленных из этих точек. Оформить процедурами ввод и вывод координат точек. Оформить функцией расчет длины каждого отрезка. Составить программу на Паскале. Срроооочно!!!!!!
program MaxSegmentLength; const N = 5; type Point = record x, y: Integer; end; var Points: array[1..N] of Point; X, Y: array[1..N] of Integer; i, j, maxLen, currentLen: Integer; function Distance(Point1, Point2: Point): Integer; begin Distance := Round(Sqrt(Sqr(Point2.x - Point1.x) + Sqr(Point2.y - Point1.y))); end; begin for i := 1 to N do begin writeln('Enter x and y coordinates for point ', i, ':'); readln(X[i], Y[i]); Points[i].x := X[i]; Points[i].y := Y[i]; end; maxLen := 0; for i := 1 to N - 1 do begin for j := i + 1 to N do begin currentLen := Distance(Points[i], Points[j]); if currentLen > maxLen then maxLen := currentLen; end; end; writeln('The maximum length of all segments is: ', maxLen); end.
Вы можете изменить значение константы N и вводить координаты точек для настройки программы под свои нужды.
Конечно, вот пример программы на Pascal:
program MaxSegmentLength;const
N = 5;
type
Point = record
x, y: Integer;
end;
var
Points: array[1..N] of Point;
X, Y: array[1..N] of Integer;
i, j, maxLen, currentLen: Integer;
function Distance(Point1, Point2: Point): Integer;
begin
Distance := Round(Sqrt(Sqr(Point2.x - Point1.x) + Sqr(Point2.y - Point1.y)));
end;
begin
for i := 1 to N do
begin
writeln('Enter x and y coordinates for point ', i, ':');
readln(X[i], Y[i]);
Points[i].x := X[i];
Points[i].y := Y[i];
end;
maxLen := 0;
for i := 1 to N - 1 do
begin
for j := i + 1 to N do
begin
currentLen := Distance(Points[i], Points[j]);
if currentLen > maxLen then
maxLen := currentLen;
end;
end;
writeln('The maximum length of all segments is: ', maxLen);
end.
Вы можете изменить значение константы N и вводить координаты точек для настройки программы под свои нужды.