ВУЗ:
Составители:
Рубрика:
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
координатам трех вершин треугольника. Возвращаемое значение – величина
площади.
В главной программе вызываем функцию AreaTriangle четыре раза.
При вычислении площади используется стандартная функция вычисле-
ния квадратного корня. Она не дает точного значения. В случае, когда точка
принадлежит треугольнику, сумма площадей внутренних треугольников мо-
жет незначительно отличаться от площади исходного треугольника. Поэтому
сравнение на равенство площадей происходит с точностью
ε
.
# include <stdio.h>
# include <math.h>
// прототип функции вычисления площади треугольника
float AreaTriangle(float x1, float y1,
float x2, float y2,
float x3, float y3);
void main(void)
{
printf("Введите координаты вершин треугольника:");
float x1,x2,x3,y1,y2,y3,x,y,eps;
while(true)
{
scanf("%f",&x1);
scanf("%f",&y1);
scanf("%f",&x2);
scanf("%f",&y2);
scanf("%f",&x3);
scanf("%f",&y3);
if(!((x1!=x2 || y1!=y2) && (x1!=x3 || y1!=y3) &&
(x2!=x3 || y2!=y3)))
printf("Неверно заданы координаты вершин
треугольника");
else break;
}
printf("Введите координаты точки:");
scanf("%f",&x);scanf("%f",&y);
eps=0.0001;
// вычисление площадей треугольников
float s=AreaTriangle(x1,y1,x2,y2,x3,y3);
float s1=AreaTriangle(x,y,x2,y2,x3,y3);
float s2=AreaTriangle(x1,y1,x,y,x3,y3);
float s3=AreaTriangle(x1,y1,x2,y2,x,y);
14
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
координатам трех вершин треугольника. Возвращаемое значение – величина
площади.
В главной программе вызываем функцию AreaTriangle четыре раза.
При вычислении площади используется стандартная функция вычисле-
ния квадратного корня. Она не дает точного значения. В случае, когда точка
принадлежит треугольнику, сумма площадей внутренних треугольников мо-
жет незначительно отличаться от площади исходного треугольника. Поэтому
сравнение на равенство площадей происходит с точностью ε.
# include
# include
// прототип функции вычисления площади треугольника
float AreaTriangle(float x1, float y1,
float x2, float y2,
float x3, float y3);
void main(void)
{
printf("Введите координаты вершин треугольника:");
float x1,x2,x3,y1,y2,y3,x,y,eps;
while(true)
{
scanf("%f",&x1);
scanf("%f",&y1);
scanf("%f",&x2);
scanf("%f",&y2);
scanf("%f",&x3);
scanf("%f",&y3);
if(!((x1!=x2 || y1!=y2) && (x1!=x3 || y1!=y3) &&
(x2!=x3 || y2!=y3)))
printf("Неверно заданы координаты вершин
треугольника");
else break;
}
printf("Введите координаты точки:");
scanf("%f",&x);scanf("%f",&y);
eps=0.0001;
// вычисление площадей треугольников
float s=AreaTriangle(x1,y1,x2,y2,x3,y3);
float s1=AreaTriangle(x,y,x2,y2,x3,y3);
float s2=AreaTriangle(x1,y1,x,y,x3,y3);
float s3=AreaTriangle(x1,y1,x2,y2,x,y);
14
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »
