Найти периметр n-угольника по координатам его вершин. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Работа на функции, задание: Найти периметр n-угольника по координатам его вершин. (сформировать функцию для вычисления длин его сторон по координатам вершин) не могу понять, почему периметр считает неправильно, подскажите, пожалуйста
 
#include<stdio.h>
#include<math.h>
//функция для вычисления длины стороны по координатам
double L (double x1,double y1,double x2,double y2)//
{double l;//l-длина стороны
  l=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
  return l;//
}
int main(void)
{int k,n;//k-счетчик вершин, n-количество вершин
 double p,x1,x2,y1,y2;//p-периметр, x1,x2,y1,y2-координаты концов стороны(отрезка)
 while(1)
 {printf("\nвведите количество вершин\n");
 scanf("%d",&n);
 if(n<3)
    printf("\nмало вершин\n");
   else
   break;}
 printf("\nвведите координаты первой вершины\n");
 scanf("%lf%lf",&x1,&y1);//
 for(k=1;k<n;k++)//
 {printf("\nвведите координаты следующей вершины\n");
  scanf("%lf%lf",&x2,&y2);
  p+=L(x1,y1,x2,y2);//
  x1=x2;//
  y1=y2;//
 }
 printf("\n периметр %dугольника = %5.21lf\n",n,p);
 return 0;
}

Решение задачи: «Найти периметр n-угольника по координатам его вершин.»

textual
Листинг программы
double p=0.,x1,x2,y1,y2, x, y;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы