Найти сумму площадей двух треугольников - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Необходимо найти сумму площадей 2-х треугольников. Задаются координаты вершины, далее находятся стороны как разность координат и по формуле Герона находим площадь. По идее нахождение сторон нужно сделать через указатель на функцию) Поправте плз. Выдает ошибку error C2440: '=' : cannot convert from 'float (__cdecl *)(float,float,float,float)' to 'float' 1> There is no context in which this conversion is possible на нахождении s1 u s2
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include "conio.h"
float dl(float a, float b, float c, float d);
//для нахождения длины стороны. a,b,c,d координаты вершин
float S(float a1, float b1, float a2,float b2, float a3, float b3, float (*f)(float,float,float,float));
//находим площадь.a1,a2,a3,b1,b2,b3 координаты точек
int _tmain()
{
    float s,s1,s2,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6;
    printf("Введите координаты 1-го треугольника");
    scanf_s("%f %f %f %f %f %f",&x1,&y1,&x2,&y2,&x3,&y3);
    printf("Координаты: %f %f %f %f %f %f",x1,y1,x2,y2,x3,y3);
    printf("Введите координаты 2-го треугольника");
    scanf_s("%f %f %f %f %f %f",&x4,&y4,&x5,&y5,&x6,&y6);
    printf("Координаты: %f %f %f %f %f %f",x4,y4,x5,y5,x6,y6);
    s1=(x1,y1,x2,y2,x3,y3,dl);//находим площадь 1-го треугольника
    s2=(x4,y4,x5,y5,x6,y6,dl);//второго
    printf("сумма равна %f",s1+s2);
    getch();
    return 0
}
float dl(float a, float b, float c, float d)
{
    return sqrt((a-b)*(a-b)+(c-d)*(c-d));
}
float S(float a1, float b1, float a2,float b2, float a3, float b3, float (*f)(float,float,float,float))
{   
    float l1,l2,l3,p,s;
    l1=f(a1,b1,a2,b2);//находим длину стороны
    l2=f(a2,b2,a3,b3);
    l3=f(a3,b3,a1,b1);
    p=(l1+l2+l3)/2;//полупериметр
    s=sqrt(p*(p-l1)*(p-l2)*(p-l3));// площадь по формуле Герона
    return s;
}
завтра сдавать((

Решение задачи: «Найти сумму площадей двух треугольников»

textual
Листинг программы
s1=S(x1,y1,x2,y2,x3,y3,dl);//находим площадь 1-го треугольника
s2=S(x4,y4,x5,y5,x6,y6,dl);//второго

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы