Ошибка Illegal use of floating point - C (СИ)

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

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

Программа по высчитыванию Периметра и Площади треугольника:
#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();
   }
В 7,8,9 строках пишет ошибку Illegal use of floating point, как от неё избавится?

Решение задачи: «Ошибка Illegal use of floating point»

textual
Листинг программы
*p1 = (a+b+c) / 2;
*S = sqrt((*p1) * ((*p1) - a) * ((*p1) - b) * ((*p1) - c));
*P = a+b+c;

Объяснение кода листинга программы

  1. Сначала происходит сложение переменных a, b и c: a + b + c.
  2. Затем результат делится на 2: (a+b+c) / 2.
  3. Далее вычисляется квадратный корень из результата: sqrt((*p1) * ((*p1) - a) * ((*p1) - b) * ((*p1) - c)).
  4. После этого происходит сложение переменных a, b и c: a + b + c.

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


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

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

11   голосов , оценка 4.273 из 5