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