Ошибка Illegal use of floating point - C (СИ)
Формулировка задачи:
Программа по высчитыванию Периметра и Площади треугольника:
В 7,8,9 строках пишет ошибку Illegal use of floating point, как от неё избавится?
#include <stdio.h>
#include <math.h>
void Triangle (float a, float b, float c,
float *p1, float *S, float *P)
{
p1=(a+b+c)/2;
S=sqrt(p1*(p1-a)*(p1-b)*(p1-c));
P=a+b+c;
}
main()
{
float a1,b1,c1,p2,S1,P1;
printf("Vvedit' dovzini storin a,b,c:");
scanf("%f%f%f", &a1,&b1,&c1);
Triangle(a1,b1,c1,&p2,&S1,&P1);
printf("\nPerimetr=%9.4f\n Ploscha=%9.4f\n",P1,S1);
getch();
}Решение задачи: «Ошибка Illegal use of floating point»
textual
Листинг программы
*p1 = (a+b+c) / 2; *S = sqrt((*p1) * ((*p1) - a) * ((*p1) - b) * ((*p1) - c)); *P = a+b+c;
Объяснение кода листинга программы
- Сначала происходит сложение переменных a, b и c:
a + b + c. - Затем результат делится на 2:
(a+b+c) / 2. - Далее вычисляется квадратный корень из результата:
sqrt((*p1) * ((*p1) - a) * ((*p1) - b) * ((*p1) - c)). - После этого происходит сложение переменных a, b и c:
a + b + c.