Вычислить площадь треугольника с использованием функции нахождения расстояния между двумя точками - 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)
для вычисления длины стороны треугольника. - Завершаем программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д