2.

Решить квадратное уравнение.
6. Решить биквадратное уравнение.
[code]/* p11
Язык Turbo C
Основы программирования
Теория. Задачи */
/* p11 (15k), p13 (22k), p16, p18, p19 (23k)
p21 (24k), p53 (25k), p54, p55 */
#include <conio.h>
#include <math.h>
#include <stdio.h>
j (); /* Решение - любое число. */
k (); /* Решений нет. */
l (float); /* Один корень. */
m (float, float); /* Два корня. */
n (int, int); /* n = a ^ b. */
o (float, float, float); /* Три корня. */
p (float, float, float, float); /* Четыре корня. */
main ()
{
int a, b, c, d;
int g, h;
float s, t;
printf ("Введите четыре целых числа: ");
scanf ("%i%i%i%i", &a, &b, &c, &d);
printf ("p13 - 2. ");
if (a == 0)
if (b == 0)
if (c == 0) j (); else k ();
else
l ((float) -c / b);
else
{
g = b * b - 4 * a * c;
if (g < 0) k (); else
if (g == 0)
l (-b / 2. / a);
else
m ((-b + sqrt (g)) / 2 / a, (-b - sqrt (g)) / 2 / a);
}
printf ("p21 - 6. ");
if (a == 0)
if (b == 0)
if (c == 0) j (); else k ();
else
{
s = (float) -c / b;
if (s < 0) k (); else if (s == 0) l (0); else m (sqrt (s), -sqrt (s));
}
else
{
g = b * b - 4 * a * c;
if (g < 0) k (); else
if (g == 0)
{
s = -b / 2. / a;
if (s < 0) k (); else if (s == 0) l (0); else m (sqrt (s), -sqrt (s));
}
else
{
s = (-b + sqrt (g)) / 2 / a;
t = (-b - sqrt (g)) / 2 / a;
if (s < 0)
if (t < 0) k (); else if (t == 0) l (0); else m (-sqrt (t), sqrt (t));
else
if (s == 0)
if (t < 0) l (0); else o (-sqrt (t), 0, sqrt (t));
else
if (t < 0)
m (-sqrt (s), sqrt (s));
else
if (t == 0)
o (-sqrt (s), 0, sqrt (s));
else
p (-sqrt (s), -sqrt (t), sqrt (t), sqrt (s));
}
}
getch ();
printf ("\n");
}
j () {printf ("Решение - любое число.\n");}
k () {printf ("Решений нет.\n");}
l (float a) {printf ("x = %.4g.\n", a);}
m (float a, float b) {printf ("x1 = %.4g, x2 = %.4g.\n", a, b);}
o (float a, float b, float c) {printf ("x1 = %.4g, x2 = %.4g, x3 = %.4g.\n", a, b, c);}
p (float a, float b, float c, float d) {printf ("x1 = %.4g, x2 = %.4g, x3 = %.4g, x4 = %.4g.\n", a, b, c, d);}[/code]

Комментарии

Комментариев нет.