Определить периметры треугольников, заданных координатами их вершин - C (СИ)

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

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

Доброго времени суток.Помогите пожалуйста с программой,я вроде что-то набросал,но скорее всего это бред.

Собственно само задание:

Определить периметры треугольников, заданных координатами их вершин Xa(5), Xb(5), Xc(5), Ya(5), Yb(5), Yc(5). Длины сторон вычислять с помощью функции.

Код:

#include <stdio.h>
 
#include <conio.h>
 
#include <iostream>
 
#include <stdlib.h>
 
int main ()
 
{
 
int xa[5],ya[5],xb[5],yb[5],xz[5],yz[5],i,a,b,c,p,z;
 
for (i=0; i<6;i++)
 
{
 
xa[i]=rand()% 100;
 
ya[i]=rand()% 100;
 
xb[i]=rand()% 100;
 
yb[i]=rand()% 100;
 
xz[i]=rand()% 100;
 
yz[i]=rand()% 100;
 
printf ("xa:");
 
printf ("\n",&xa[i]);
 
printf ("ya:");
 
printf ("\n",&ya[i]);
 
printf ("xb:");
 
printf ("\n",&xb[i]);
 
printf ("yb:");
 
printf ("\n",&yb[i]);
 
printf ("xz:");
 
printf ("\n",&xz[i]);
 
printf ("yz:");
 
printf ("\n",&yz[i]);
 
}
 
printf ("\n\t Function =");
 
scanf ("%i",&a);
 
scanf ("%i",&b);
 
scanf ("%i",&c);
 
p=a+b+z;
 
printf ("Perimetr treygolnika = \n ");
 
getch();
 
}
 
double treyg()
 
{
 
int xa[5],ya[5],xb[5],yb[5],xz[5],yz[5],i,a,b,c,p,z;
 
a = sqrt(sqr(xa[i]-xb[i])+sqr(ya[i]-yb[i]));
 
b = sqrt(sqr(xb[i]-xz[i])+sqr(yb[i]-yz[i]));
 
z = sqrt(sqr(xa[i]-xz[i])+sqr(ya[i]-yz[i]));
 
}
да и массив тут не нужен,но я чет не могу понять до конца как

Решение задачи: «Определить периметры треугольников, заданных координатами их вершин»

textual
Листинг программы
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
#include <windows.h> 
 
int n=1;
 
double len(double x1, double y1, double x2, double y2) 
{
return sqrt((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2)); 
} 
double perimeter(double x1, double y1, double x2, double y2, double x3, double y3) 
{ 
return len(x1, y1, x2, y2) + len(x2, y2, x3, y3) + len(x3, y3, x1, y1); 
} 
int main() 
{ 
double xa[5],ya[5],xb[5],yb[5],xc[5],yc[5]; 
for (int i=0; i<5; i++) 
{ 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11); 
    printf("\t\t\tТреугольник № %d\n\n",n);
    
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); 
    printf("Введите координаты А:\n");
    printf("x = "); 
    scanf("%lf",&xa[i]);
    printf("y = "); 
    scanf("%lf",&ya[i]);
    
    
    printf("Введите координаты B:\n");
    printf("x = "); 
    scanf("%lf",&xb[i]);
    printf("y = "); 
    scanf("%lf",&yb[i]);
    
    printf("Введите координаты C:\n");
    printf("x = "); 
    scanf("%lf",&xc[i]);
    printf("y = "); 
    scanf("%lf",&yc[i]);
    
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
printf("\n\t\t\tПериметр треугольника= %lf\n", perimeter(xa[i], ya[i], xb[i], yb[i], xc[i], yc[i])); 
++n;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
printf("\n<br>\n\n");
} 
return 0; 
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Объявляются переменные: n (счетчик треугольников), xa, ya, xb, yb, xc, yc (координаты вершин треугольников)
  3. Задается цикл для ввода координат пяти треугольников
  4. Выводится информация о треугольнике с номером n
  5. Запрашиваются координаты треугольника n
  6. Вычисляется периметр треугольника по формуле: perimeter(xa[i], ya[i], xb[i], yb[i], xc[i], yc[i]) = len(xa[i], ya[i], xb[i], yb[i]) + len(xb[i], yb[i], xc[i], yc[i]) + len(xc[i], yc[i], xa[i], ya[i])
  7. Выводится периметр треугольника
  8. Увеличивается счетчик треугольников n
  9. Повторяются шаги 4-8 для всех пяти треугольников
  10. Завершается программа

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


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

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

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