Сравнить площадь 2х треугольников - C (СИ)
Формулировка задачи:
При компиляции выдает ошибку: S: должна возвращать значение. Подскажите что не так делаю.
#include "stdafx.h"
#include "math.h"
float S(int X1, int Y1, int X2, int Y2,int X3, int Y3)
{float AB,BC,AC,p,S;
AB=sqrt(((powl((X2-X1),2))+(powl((Y2-Y1),2))));
BC=sqrt((powl((X3-X2),2))+(powl((Y3-Y2),2)));
AC=sqrt((powl((X3-X1),2))+(powl((Y3-Y1),2)));
p=(AB+BC+AC)/2;
S=sqrt((p*(p-AB)*(p-BC)*(p-AC)));
}
int _tmain(int argc, _TCHAR* argv[])
{float S1=S(1,1,4,2,2,3),S2=S(1,2,4,1,3,3),i;
if (S1>=S2) printf("Площадь первого треугольника больше");
else printf("Площадь второго треугольника больше");
scanf("%f",&i);
return 0;
}Решение задачи: «Сравнить площадь 2х треугольников»
textual
Листинг программы
return sqrt((p*(p-AB)*(p-BC)*(p-AC)));