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