Вычислить площадь треугольника с использованием функции нахождения расстояния между двумя точками - C (СИ)
Формулировка задачи:
Треугольник задан своими координатами своих вершин. Вычислить площадь треугольника с использованием функции нахождения расстояния между двумя точками.
формула: корень(x2-x1)^2+(y2-y1)^2
Решение задачи: «Вычислить площадь треугольника с использованием функции нахождения расстояния между двумя точками»
textual
Листинг программы
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#include<math.h>
float stor(float v1,float t1,float v2,float t2);//v-это x,t-это y
void main(void)
{
setlocale(LC_ALL,"Russian");
float XY[2][3],p[3],k,S;
int i,j;
printf("Задание:\nТреугольник задан своими координатами своих вершин. Вычислить площадь\nтреугольника с использованием функции нахождения расстояния между двумя точками.Для вычисления площади используется формула Герона.\n\n");
printf("Введите координаты точек\n");
for(j=0;j<3;j++)
{
printf("Введите x%d__",j+1);
fflush(stdin);
scanf("%f",&XY[0][j]);
printf("Введите y%d__",j+1);
fflush(stdin);
scanf("%f",&XY[1][j]);
}
p[0]=stor(XY[0][0],XY[1][0],XY[0][2],XY[1][2]);
p[1]=stor(XY[0][1],XY[1][1],XY[0][2],XY[1][2]);
p[2]=stor(XY[0][0],XY[1][0],XY[0][1],XY[1][1]);
for(i=0;i<3;i++)
{
printf("Длина стороны %d=%10.2f\n",i+1,p[i]);
}
k=(p[0]+p[1]+p[2])/2;
S=sqrt(k*(k-p[0])*(k-p[1])*(k-p[2]));
printf("\n Площадь треугольника равна %f",S);
getch();
}
float stor(float v1,float t1,float v2,float t2)
{
float f;
f=sqrt(pow(v2-v1,2)+pow(t2-t1,2));
return f;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
conio.hдля функцииgetch(), которая используется для ожидания нажатия клавиши после вывода результата.stdio.hдля работы с функциейprintf()иscanf().stdlib.hдля работы с функциейmalloc()иfree().locale.hдля установки текущей локали на русский язык.math.hдля использования функцииsqrt(), которая вычисляет квадратный корень.
- Определяем функцию
stor(float v1,float t1,float v2,float t2), которая вычисляет расстояние между двумя точками в двумерном пространстве. - Создаем основную функцию
main(void):- Устанавливаем текущую локаль на русский язык с помощью
setlocale(LC_ALL,Russian);. - Объявляем массив
XY[2][3]для хранения координат вершин треугольника. - Объявляем массив
p[3]для хранения длин сторон треугольника. - Объявляем переменную
kдля хранения среднего арифметического длин сторон треугольника. - Объявляем переменную
Sдля хранения площади треугольника. - Выводим задание для пользователя.
- Считываем координаты вершин треугольника с помощью
scanf(). - Вычисляем длины сторон треугольника с помощью функции
stor(). - Выводим длины сторон треугольника.
- Вычисляем среднее арифметическое длин сторон треугольника.
- Вычисляем площадь треугольника с помощью формулы Герона.
- Выводим площадь треугольника.
- Ждем нажатия клавиши с помощью
getch().
- Устанавливаем текущую локаль на русский язык с помощью
- В основной функции
main(void)вызываем функциюstor(float v1,float t1,float v2,float t2)для вычисления длины стороны треугольника. - Завершаем программу.