@mihal
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 25
|
11.10.2012, 18:40
[ТС]
|
|

Сообщение от Croessmah
Проверяйте
p*(p-x)*(p-y)*(p-z)
прежде, чем передавать в функцию sqrt. Если меньше 0, то возвращайте -1.
В основной функции проверяете результат, который вернула функция pl и если он меньше 0, то выводите сообщение об ошибке.
Как-то так? А в основные функции как проверить?
C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
float pl(float,float,float);
void main()
{
float a,b,c,d,e,f;
cin>>a>>b>>c>>d>>e>>f;
float q=4;
float i=4.5;
float j=6;
float s=pl(a,q,i)+pl(f,e,q)+pl(i,j,b)+pl(d,j,c);
getch();
cout<<s;
}
float pl(float x,float y,float z)
{
float p=(x+y+z)/2;
if(p!=0)
return sqrt(p*(p-x)*(p-y)*(p-z));
else
return -1;
} |
|
0
|