Показать сообщение отдельно
  #1  
Старый 04.12.2010, 21:55
razh2009 razh2009 вне форума
Прохожий
 
Регистрация: 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.
помогите пожалуйста почему программа не правильная?
Ответить с цитированием