Найти периметр десятиугольника - C (СИ) (74800)

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

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

Даны действительные числа x1,y1,x2,y2..x10,y10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (х1,у1)(х2,у2)...(х10,у10). Определить процедуру вычисления расстояния между двумя точками, заданными своими координатами! Проверить существование всех треугольников в полученном 10-угольнике! вот код, помогите пожалуйста понять, почему всегда треугольники не существуют, что не верно в коде?
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
int Raschet(float x1, float y1, float x2, float y2)
{
    float d;
    d=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
    return d;
}
 
int main()
{
    int i,n,s,j;
    int kx,ky,kx1,kx2;
    n=10;
    int x[n], y[n] ,dl[n],dl2[n];
    srand (time (NULL));
    for (i=0; i<n; i++)
    {
        x[i]=(rand()%10);
        y[i]=(rand()%10);
        printf("Tochka %i= %2i ; %i\n",i,x[i],y[i]);
    }
 
    s=Raschet(x[i],y[i],x[n],y[n]);
 
    for (j=1; j<n; j++)
    {
        dl[0]=Raschet(x[0],y[0],x[0+1],y[0+1]);
        dl[j]=Raschet(x[1], y[1], x[j], y[j]);
        dl2[j]=Raschet(x[j],y[j],x[n],y[n]);
    }
 
    for (j=0; j<n-2; j++)
    {
        kx=dl[j];
        kx1=dl[j+2];
        kx2=dl2[j];
        if ((kx<kx1+kx2) && (kx1<kx+kx2) && (kx2<kx+kx1))
        {
            printf("%i-yi Tpeyg. syshestvyet\n ",j+1);
        }
        else {printf("%i-yi Tpeyg. ne syshestvyet\n ",j+1);}
    }
 
    for (i=0; i<(n-1); i++)
    {
        s=s+Raschet(x[i],y[i],x[i+1],y[i+1]);
    }
    printf("p= %i",s);
}

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

textual
Листинг программы
int Raschet(float x1, float y1, float x2, float y2)// функция принимает переменные типа float, возвращает типа int
{
 float d;
 d=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
 return d;// переменная d объявлена типа float, а значение функция будет возвращать типа int. Нужно в объявлении функции переделать, что тип она возвращает float, а не int
}

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


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

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

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