Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 22.12.2008, 21:58   #1
Андрю)(@
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 23
По умолчанию Необходимо определить периметр многоугольника, заданного координатами вершин

Необходимо определить периметр многоугольника, заданного координатами вершин
(x1, y1), (x2, y2), ..., (x10, y10), с использованием функции...
Пожалуйста помогите с данной задачкой..., долго пытаюсь никак не поддаётся...
Андрю)(@ вне форума Ответить с цитированием
Старый 22.12.2008, 22:03   #2
zonclayv
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 13
По умолчанию

ты знаешь как найти периметр по точкам? или ты незнаешь как это записать с помощью функции?
zonclayv вне форума Ответить с цитированием
Старый 22.12.2008, 22:05   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Собственно, функция. Как делать остальное, думаю, разберетесь.
Код:
function dlina(x1,x2,y1,y2 : integer) : real;
 begin
 dlina := sqrt(sqr(x2-x1) + sqr(y2-y1));
 end;
Sazary вне форума Ответить с цитированием
Старый 22.12.2008, 23:16   #4
Андрю)(@
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 23
По умолчанию

да формулу то я знал, я не понимаю как сделать для 10 точек
Андрю)(@ вне форума Ответить с цитированием
Старый 22.12.2008, 23:31   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Андрю)(@
Код:
per := 0;
for i:=2 to 10 do
 begin
 per := per + dlina(x[i-1],y[i-1],x[i],y[i]);
 end;
Где per - периметр, x[],y[] - массивы координат x и y.
Sazary вне форума Ответить с цитированием
Старый 23.12.2008, 13:21   #6
Андрю)(@
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 23
По умолчанию

Код:
Program Lab7;
USES Crt;
Var
i, N: integer;
per,dlina: real;
function dlinastr(x1,x2,y1,y2 : integer) : real;
 begin
 per:= 0;
for i:=2 to N do
 begin
 Write('Введите координату x1 '); Readln(x1);
 Write('Введите координату y1 '); Readln(y1);
 Write('Введите координату x1 '); Readln(x2);
 Write('Введите координату y2 '); Readln(y2);
 dlina := sqrt(sqr(x2-x1) + sqr(y2-y1));
 per := per + dlina;
 end;
 Writeln(per);
 end;
begin
ClrScr;
Writeln('Введите количество сторон'); ReadLn(N);
dlinastr;
end.
Вот попробовал написать, что-то не работает...
Пожалуйста помогите исправить..

Последний раз редактировалось Андрю)(@; 23.12.2008 в 13:23.
Андрю)(@ вне форума Ответить с цитированием
Старый 23.12.2008, 13:30   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
Program Lab7;
USES Crt;
Var
i, N: integer;
x,y : array[1..100] of integer;
per: real;

function dlina(x1,x2,y1,y2 : integer) : real;
begin
dlina := sqrt(sqr(x2-x1) + sqr(y2-y1));
end;

begin
ClrScr;
Writeln('Kolichestvo storon: '); ReadLn(N);
per := 0;
write('Enter x1='); readln(x[1]);
write('Enter y1='); readln(y[1]);
for i:=2 to N do
 begin
 write('Enter x',i,'='); readln(x[i]);
 write('Enter y',i,'='); readln(y[i]);
 per := per + dlina(x[i-1],y[i-1],x[i],y[i]);
 end;
per := per + dlina(x[i],y[i],x[1],y[1]);
writeln('Perimeter= ',per:3:1);
readln;
end.
Вроде так..

Последний раз редактировалось Sazary; 23.12.2008 в 13:35.
Sazary вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построчный алгоритм заполнения многоугольника с затравкой (Билдер С++) SKA_zo4nik Помощь студентам 8 28.03.2011 20:15
Задана точка с координатами (x, y). Определить, на какой оси или в каком квадранте она находится. С++ Wia Помощь студентам 4 13.12.2008 15:17
Периметр сложніх фигур Hworang Общие вопросы C/C++ 7 01.04.2008 19:30
Рисование многоугольника (собственный класс) MaTBeu Общие вопросы C/C++ 1 08.12.2007 15:53