1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
-
|
|
|
|
|
!
-
|
!
-
|
|
|
|
|
|
-
|
|
!
|
!
-
|
|
|
|
-
|
!
|
-
|
!
!
| #include <stdio.h>
#include <math.h>
class MathNiji
{
private:
double TempCalc (double a, double b, double c);
public:
bool GetNiji (double a, double b, double c, double *x1, double *x2);
};
double
MathNiji::TempCalc (double a, double b, double c)
{
return b * b - 4 * a * c;
}
bool
MathNiji::GetNiji (double a, double b, double c, double *x1, double *x2)
{
double temp;
temp = TempCalc (a, b, c);
if (temp < 0)
return false; else
{
*x1 = (-b + sqrt (temp)) / (2 * a);
*x2 = (-b - sqrt (temp)) / (2 * a);
}
return true;
}
void
main (void)
{
MathNiji sm;
double x1, x2;
if (sm.GetNiji (3, 10, 7, &x1, &x2) == true)
{
printf ("x1 = %f, x2 = %f\n", x1, x2);
}
else
{
printf ("no answer.\n");
}
}
|