Задача на языке Си. Срочно, помогите. Треугольник задан координатами своих вершин. вычислить его площадь.
Бред не пишите, на Паскале НЕ надо.

Ответы

Ответ дал: DigitalAnnihilator
0

Код программы прикреплен в файле.

В коде присутствуют три функции:

  • getLengthBeweenPoints - расчет расстояния между двумя точками на плоскости по формуле
  • getAreaOfTriangle - расчет площади треугольника по трем сторонам
  • main - ввод координат двух координат для каждой из вершин треугольника и вывод на экран расчитаной площади треугольника

Спасибо за отметку "лучший ответ" и нажатую кнопочку "спасибо":

  • На этом ответе
  • В моем аккаунте

P.S.

  1. К сожалению сайт не позволяет загружать текстовые форматы (знаю, это тупо), по этому файл называется 'main.c.pdf', просто переименуйте его и уберите из названия '.pdf', должно получиться 'main.c', далее можете открыть любым текстовым редактором либо скомпилировать в бинарник.
  2. Спасибо за комментарий: на Паскале НЕ надо! Прям от души, просто надоели люди знающие только паскаль и пишущие исключительно на нем ответы, хотя людям такое и не надо...

На всякий случай в коментариях продублирую код.

Приложения:
Ответ дал: DigitalAnnihilator
0
#include
#include

float getLengthBeweenPoints(const float pointAx, const float pointAy, const float pointBx, const float pointBy)
{
return sqrt( pow(pointBx - pointAx, 2) + pow(pointBy - pointAy, 2) );
}

float getAreaOfTriangle(const float leghtOfAside, const float leghtOfBside, const float leghtOfCside)
{
const float semiperimeter = ( leghtOfAside + leghtOfBside + leghtOfCside ) / 2;
Ответ дал: DigitalAnnihilator
0
return sqrt( semiperimeter * (semiperimeter - leghtOfAside) * (semiperimeter - leghtOfBside) * (semiperimeter - leghtOfCside) );
}

int main(void)
{
float Ax, Ay;
float Bx, By;
float Cx, Cy;

printf("Hello, please, insert following coordinates of a triangle:n");

printf("Ax: ");
scanf("%f", &Ax);

printf("Ay: ");
scanf("%f", &Ay);

printf("Bx: ");
scanf("%f", &Bx);

printf("By: ");
scanf("%f", &By);

printf("Cx: ");
scanf("%f", &Cx);

printf("Cy: ");
scanf("%f", &Cy);
Ответ дал: DigitalAnnihilator
0
const float sideA = getLengthBeweenPoints(Ax, Ay, Bx, By);
const float sideB = getLengthBeweenPoints(Bx, By, Cx, Cy);
const float sideC = getLengthBeweenPoints(Cx, Cy, Ax, Ay);
const float triangleArea = getAreaOfTriangle(sideA, sideB, sideC);

printf("Triangle area is: %f", triangleArea);

return 0;
}
Вас заинтересует