![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Код:
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. |
|
#2
|
||||
|
||||
|
Не знаю что там дальше, смотреть как-то перехотелось после просмотра первых 2 строчек...
Код:
// так нельзя!
// Reset(Input,'bisqr.in');
// Rewrite(Output,'bisqr.out');
AssignFile(Input, 'bisqr.in');
{$I-}
Reset(Input);
if(if IOResult <> 0) then
ReWrite(Input);
{$I+}
... |
|
#3
|
|||
|
|||
|
ну это нам не слишком важно.....это уже мелочи.....тут дальше гдето есть ошибка=(
|
|
#4
|
||||
|
||||
|
че такое m[]:=999999 и зачем это надо? о_О
|
|
#5
|
|||
|
|||
|
у нас не всегда есть все 4 корня....ну и так как мы предположили что корня 999999 нет, то будем пользоваться этим числом для проверки наличия корня....
да,это глупо, но я подругому не умею=( |
|
#6
|
||||
|
||||
|
а почему нельзя просто найти корни квадратного уравнения, и после проверить, если корни больше нуля, то еще раз корни и вывести их на экран, если меньше, вывести "ах он гад какой, не решается"
зачем столько лишнего кода? Последний раз редактировалось SerginhoLD, 05.12.2010 в 01:20. |