
04.12.2010, 21:55
|
Прохожий
|
|
Регистрация: 04.12.2010
Сообщения: 20
Репутация: 10
|
|
Биквадратные уравнения
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,b,c,x1,x2,x3,x4,t1,d,t2: real;
m:array[1..4]of Real;
i,j,kol:Integer;
Begin
Reset(Input,'bisqr.in');
Rewrite(Output,'bisqr.out');
read(a);
read(b);
read(c);
for i:=1 to 4 do m[i]:=999999;
d:=b*b-4*a*c;
if d >= 0 then
begin
t1:=(-b+sqrt(d))/(2*a);
t2:=(-b-sqrt(d))/(2*a);
if t1 >= 0 then
begin
x1:=sqrt(t1); x2:=-x1;
m[1]:=x1;m[2]:=x2;
end
else begin m[1]:=999999; m[2]:=999999 end;
if t2 >= 0 then
begin
x3:=sqrt(t2); x4:=-x3;
m[3]:=x3; m[4]:=x4;
end
else begin m[3]:=999999;m[4]:=999999;end;
end
else m[1]:=999999;
kol:=0;
for i:=1 to 4 do begin
if m[i]<>999999 then kol:=kol+1;
end;
Writeln(kol);
for i:=1 to 4 do begin
if m[i]<>999999 then Writeln(m[i]:0:6);
end;
closefile(output);
End.
помогите пожалуйста почему программа не правильная?
|